Computer-readable storage medium, information processing apparatus, information processing system, and information processing method

ABSTRACT

A game apparatus executes an application loaded from a storage section, and generates an application information frame that contains most-recently-used app ID information that is identification information of the executed application. Then, the game apparatus transmits the application information frame to another game apparatus. The game apparatus receives, from the other game apparatus, most-recently-used app ID information that identifies an application executed by the other game apparatus. The game apparatus displays the received most-recently-used app ID information.

CROSS REFERENCE TO RELATED APPLICATION

The disclosure of Japanese Patent Application No. 2010-125075, filed May31, 2010, is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a computer-readable storage medium, aninformation processing apparatus, an information processing system, andan information processing method. More particularly, the presentinvention relates to a computer-readable storage medium, an informationprocessing apparatus, an information processing system, and aninformation processing method for obtaining information about contentdata executed by another information processing apparatus.

2. Description of the Background Art

There are existing conventional techniques for cumulatively storing, asa user's usage history of web contents, the user's history ofdownloading the web contents to the user's terminal apparatus. Forexample, Japanese Laid-open Patent Publication No. 2004-348203 disclosesa system in which when a server receives from a user a request topurchase content data, the server transmits conditions of use for thecontent data to a terminal apparatus of the user, and also, sets the IDof the terminal apparatus which has made the request, the ID of thecontent data, the price of the content data, and the like in a table. Inthis manner, the server can collect, in the table, records of purchasesof such content data.

However, in such a conventional system, records of purchases of contentdata that are collected by the server are not intended to be distributedto terminal apparatuses. Therefore, terminal apparatus users are unableto obtain the records of purchases of content data which arecumulatively collected by the server. Even if such a conventional serveris configured to distribute records of purchases of content data to auser terminal apparatus in response to a request from the user terminalapparatus for distribution of the records of purchases of content data,the server distributes information that shows records of purchases ofcontent data about all the terminal apparatuses that have made purchasesof content data from the server. This makes it difficult for a user of aterminal apparatus to know, about a specific terminal apparatus that isassociated with the terminal apparatus of the user, a record ofpurchases of content data and a usage status of the purchased contentdata.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide acomputer-readable storage medium, an information processing apparatus,an information processing system, and an information processing methodfor allowing a terminal apparatus to obtain information about contentdata of a specific terminal apparatus that is closely related to theterminal apparatus.

In order to achieve the above-mentioned object, in a first aspect of thepresent invention, a program stored in a computer-readable storagemedium causes a computer of an information processing apparatus thatincludes a storage section for storing content data, to act as contentdata execution means, transmission data generation means, firsttransmitting means, first receiving means, and first output means. Thecontent data execution means executes the content data. The transmissiondata generation means generates transmission data that containsidentification information of content data that is being executed by thecontent data execution means, or of content data that has been executedby the content data execution means. The first transmitting meanstransmits the transmission data to another information processingapparatus. The first receiving means receives, from said anotherinformation processing apparatus, identification information of contentdata executed by said another information processing apparatus. Thefirst output means outputs the identification information received bythe first receiving means.

According to the above configuration, the information processingapparatus transmits/receives identification information of content datato/from a specific information processing apparatus that is acommunication recipient of the information processing apparatus. In thismanner, the information processing apparatus obtains, and allows itsuser to know, the status of content data execution by the specificinformation processing apparatus. Also, the information processingapparatus can provide the status of content data execution by theinformation processing apparatus to the user of the specific informationprocessing apparatus. Note that the term “content data” herein refers toimage data, video data, audio data, an application, and the like. The“storage section” may be incorporated into the information processingapparatus, or alternatively, provided as a detachable external storagesection. The term “execution” herein refers not only to execution of anapplication but also to display of image data as well as reproduction ofaudio data or video data. The term “output” herein includes audiooutput, image display, and the like, and is not limited to an output viaan output unit (display, speaker, etc.) of the information processingapparatus but includes an output via an external output unit. Thecomputer-readable storage medium herein may be, but not limited to, avolatile memory (e.g., RAM), nonvolatile memory (e.g., CD-ROM, DVD-ROM,ROM, flash memory, or memory card), or the like.

In a second aspect of the present invention, according to the programstored in the computer-readable storage medium, the first transmittingmeans automatically performs a process for transmitting the transmissiondata, and the first receiving means automatically performs a process forreceiving the identification information of the content data executed bysaid another information processing apparatus. This eliminates thenecessity for the user of the information processing apparatus toperform operations for transmitting/receiving identification informationto/from another information processing apparatus. Since the informationprocessing apparatus performs the transmission/reception ofidentification information while the user is unaware of it, the user isunexpectedly informed of identification information that is obtained bythe information processing apparatus. In this manner, unexpectedamusement can be provided to the user.

In a third aspect of the present invention, according to the programstored in the computer-readable storage medium, the first transmittingmeans automatically repeats the process for transmitting thetransmission data, and the first receiving means automatically repeatsthe process for receiving the identification information of the contentdata executed by said another information processing apparatus.According to this configuration, the transmission/reception ofidentification information is automatically repeated while the user isunaware of it. Thus, the information processing apparatus automaticallyrepeats the transmission/reception of new identification informationto/from another information processing apparatus, regardless of theuser's intention. In this manner, unexpected amusement can be providedto the user.

In a fourth aspect of the present invention, the information processingapparatus is a handheld terminal apparatus, and the program stored inthe computer-readable storage medium further causes the computer to actas communication establishing means. The communication establishingmeans repeatedly searches, by short-distance wireless communication, foranother information processing apparatus that is to become acommunication recipient of the information processing apparatus and thatis present within a distance range from the information processingapparatus, the distance range allowing the information processingapparatus to perform the short-distance wireless communication with saidanother information processing apparatus, and the communicationestablishing means automatically establishes a connection of theshort-distance wireless communication with said another informationprocessing apparatus. The first transmitting means automaticallytransmits, by the short-distance wireless communication, thetransmission data to said another information processing apparatus,which is the communication recipient. The first receiving meansautomatically receives, by the short-distance wireless communication,the identification information from said another information processingapparatus, which is the communication recipient.

According to the above configuration, the information processingapparatus transmits/receives identification information to/from anotherinformation processing apparatus by short-distance wirelesscommunication. Thus, the user of the information processing apparatuscan know the status of usage of content data by the user of said anotherinformation processing apparatus, which is located within a shortdistance from the information processing apparatus. Since theinformation processing apparatus is a handheld terminal apparatus, theuser carries it. Therefore, the user can obtain, wherever the user goes,identification information of content data executed by anotherinformation processing apparatus that is located within a short distancefrom the user's information processing apparatus. This allows the userto know the status of usage of content data by another user whose areaof activities is similar to that of the user. For example, if the usercarrying the information processing apparatus likes baseball and is in aballpark, then the user can obtain, by using the information processingapparatus, identification information that indicates content data usedby another user in the same ballpark, who also likes baseball.Identification information of content data used by other users can beobtained in such a manner, and provided to the user of the informationprocessing apparatus in a manner customized based on the user's area ofactivities.

In a fifth aspect of the present invention, the program stored in thecomputer-readable storage medium further causes the computer to act asconnection request transmitting means, connection request receivingmeans, connection response transmitting means, and connection responsereceiving means. The connection request transmitting means automaticallytransmits a connection request at a predetermined timing to said anotherinformation processing apparatus. The connection request receiving meansreceives a connection request from said another information processingapparatus. The connection response transmitting means transmits aconnection response to said another information processing apparatuswhen the connection request transmitted from said another informationprocessing apparatus has been received. The connection responsereceiving means receives a connection response transmitted from saidanother information processing apparatus. The first transmitting meanstransmits the transmission data to said another information processingapparatus when the connection response transmitting means hastransmitted the connection response to said another informationprocessing apparatus or when the connection response receiving means hasreceived the connection response from said another informationprocessing apparatus.

According to the above configuration, the information processingapparatus automatically establishes communication with anotherinformation processing apparatus, and transmits/receives identificationinformation to/from said another information processing apparatus,accordingly. In this manner, the information processing apparatustransmits/receives identification information to/from said anotherinformation processing apparatuses while the user of the informationprocessing apparatus is unaware of it. Accordingly, identificationinformation can be provided to the user in a manner to give the userunexpected amusement. Since the transmission/reception of identificationinformation is performed after the communication is established, theinformation processing apparatus can transmit/receive identificationinformation to/from said another information processing apparatuswithout failure.

In a sixth aspect of the present invention, according to the programstored in the computer-readable storage medium, the first transmittingmeans transmits the transmission data generated by the transmission datageneration means, when transmission data transmitted from said anotherinformation processing apparatus has been received. According to thisconfiguration, the information processing apparatus performs bothtransmission/reception of identification information to/from anotherinformation processing apparatus when communication therewith isestablished. In this manner, the information processing apparatus cantransmit/receive identification information to/from said anotherinformation processing apparatus without failure by a limited number oftimes of communication.

In a seventh aspect of the present invention, according to the programstored in the computer-readable storage medium, the first transmittingmeans transmits the transmission data to said another informationprocessing apparatus by short-distance wireless communication, and thefirst receiving means receives the identification information from saidanother information processing apparatus by the short-distance wirelesscommunication. According to this configuration, the informationprocessing apparatus transmits/receives identification informationto/from another information processing apparatus that is located withinsuch a short distance from the information processing apparatus as toallow the information processing apparatus to perform the short-distancewireless communication with said another information processingapparatus. In this manner, the user of the information processingapparatus can know the status of usage of content data by the user ofsaid another information processing apparatus, which is located withinthe short distance from the information processing apparatus.

In an eighth aspect of the present invention, the program stored in thecomputer-readable storage medium further causes the computer of theinformation processing apparatus to act as transmission data updatemeans. The storage section is configured to store the transmission dataup to a predetermined amount. The first transmitting means transmits thetransmission data stored in the storage section to said another gameapparatus. The transmission data update means updates data in thestorage section when the transmission data generation means has newlygenerated the transmission data, such that the predetermined amount ofthe transmission data stored in the storage section, which contains thenewly generated transmission data, are arranged in reverse chronologicalorder of generation.

According to the above configuration, the predetermined amount of thetransmission data is stored in the storage section in reversechronological order of generation. The information processing apparatustransmits the transmission data to another information processingapparatus. Accordingly, the information processing apparatus and saidanother information processing apparatus transmit to/receive from eachother identification information of content data newly executed by theinformation processing apparatus and said another information processingapparatus. This allows the user of the information processing apparatusto obtain information about content data that has recently been used bythe user of said another information processing apparatus.

In a ninth aspect of the present invention, according to the programstored in the computer-readable storage medium, the first receivingmeans stores the received identification information of the content datain the storage section as cumulative data. This configuration allows theinformation processing apparatus to perform a predetermined process suchas a counting process or statistical process based on the cumulativedata, and to output a result of the process to the user.

In a tenth aspect of the present invention, according to the programstored in the computer-readable storage medium, the first output meansoutputs information that is based on the number of pieces ofidentification information contained in the cumulative data. Thisconfiguration allows the user to obtain information that is based on thenumber of pieces of identification information, such as the total numberof pieces of identification information contained in the cumulative dataor the total number of pieces of identification information receivedfrom a specific information processing apparatus.

In an eleventh aspect of the present invention, the program stored inthe computer-readable storage medium further causes the computer to actas counting means. The counting means counts, among the identificationinformation contained in the cumulative data, the number of pieces ofidentification information that satisfy a predetermined condition. Thefirst output means outputs a counting result obtained from the countingby the counting means. This configuration makes it possible to notifythe user of a ranking that is created based on a result of counting,among the identification information contained in the cumulative data,numbers of pieces of identification information of respective types ofcontent data, the identification information satisfying a predeterminedcondition. This effectively allows the user to readily know thepopularity of each type of content data among other users. Thepredetermined condition herein may be, for example, being receivedwithin a specific period, or being received from a specific informationprocessing apparatus.

In a twelfth aspect of the present invention, the program stored in thecomputer-readable storage medium further causes the computer to act asselection receiving means, obtaining means, and second output means. Theselection receiving means receives, from a user of the informationprocessing apparatus, a selection operation of selecting identificationinformation from among the identification information outputted by thefirst output means. The obtaining means obtains, when the selectionreceiving means has received the selection operation, detailedinformation about content data that is associated with theidentification information selected by the selection operation. Thesecond output means outputs the detailed information obtained by theobtaining means. This configuration allows the user to know, in detail,content data associated with particular identification information, bymerely selecting the particular identification information.

In a thirteenth aspect of the present invention, according to theprogram stored in the computer-readable storage medium, the obtainingmeans obtains the detailed information from a server. According to thisconfiguration, even if the information processing apparatus does notstore detailed information about content data in advance, the user canobtain the detailed information from the server. Accordingly, in orderto allow the information processing apparatus to obtain detailedinformation about content data that was not yet released at the time ofproduction of the information processing apparatus, it is not necessaryto update information stored in the information processing apparatus butonly necessary to store the detailed information in the server.

In a fourteenth aspect of the present invention, the program stored inthe computer-readable storage medium further causes the computer to actas selection receiving means, obtaining means, and second output means.The first output means outputs, as the counting result, the number ofpieces of identification information, which is counted by the countingmeans, and the identification information. The selection receiving meansreceives, from a user of the information processing apparatus, aselection operation of selecting identification information from amongthe identification information outputted by the first output means. Theobtaining means obtains, when the selection receiving means has receivedthe selection operation, detailed information about content data that isassociated with the identification information selected by the selectionoperation. The second output means outputs the detailed informationobtained by the obtaining means.

The above configuration allows the user to know, by referring to countednumbers of pieces of identification information, what content data hasbeen used by a large number of other users. Accordingly, the user canselect identification information, knowing what content data has beenused by a large number of other users, and thereby obtain detailedinformation about the selected identification information. Thus, theuser can readily obtain detailed information about content data that hasbeen used by a large number of other users.

In a fifteenth aspect of the present invention, the program stored inthe computer-readable storage medium further causes the computer to actas selection receiving means, obtaining means, and second output means.The selection receiving means receives, from a user of the informationprocessing apparatus, a selection operation of selecting identificationinformation from among the identification information outputted by thefirst output means. The obtaining means obtains, when the selectionreceiving means has received the selection operation, purchasingguidance information for allowing the user to purchase content data thatis associated with the identification information selected by theselection operation. The second output means outputs the purchasingguidance information obtained by the obtaining means.

According to the above configuration, the information processingapparatus provides, in response to the user's selection ofidentification information, the user with purchasing guidanceinformation about content data that is associated with the selectedidentification information. This eliminates, when the user wishes topurchase content data used by another user, the necessity for the userto search for purchasing guidance information for purchasing the contentdata. The purchasing guidance information is, for example, URLinformation of a website selling the content data, or screen data of ascreen that acts as an interface for the user to make a purchase of thecontent data.

In a sixteenth aspect of the present invention, the program stored inthe computer-readable storage medium is an information processingprogram for causing the computer to perform a predetermined transactionprocess with a server for purchasing content data from the server.According to the program of the sixteenth aspect, when the selectionreceiving means has received the selection operation, the obtainingmeans obtains, from the server, the purchasing guidance information forthe content data which is associated with the identification informationselected by the selection operation. According to this configuration,when the user wishes to purchase content data used by another user, theuser can readily and speedily purchase the content data.

In a seventeenth aspect of the present invention, the program stored inthe computer-readable storage medium further causes the computer to actas purchase operation receiving means, second transmitting means, andsecond receiving means. The obtaining means obtains the purchasingguidance information by receiving the purchasing guidance informationfrom a server, the purchasing guidance information providing a guide forthe user to perform a purchase operation of purchasing the content data.The purchase operation receiving means receives the purchase operationwhich the user performs in accordance with the guide of the purchasingguidance information. The second transmitting means transmits, when thepurchase operation receiving means has received the purchase operation,a purchase request for the content data to the server. The secondreceiving means receives from the server the content data which has beenpurchased.

According to the above configuration, the information processingapparatus provides, in response to the user's selection ofidentification information, the user with purchasing guidanceinformation about content data that is associated with the selectedidentification information. The user can purchase the desired contentdata from the server by merely performing a purchase operation inaccordance with the purchasing guidance information. Thus, when the userwishes to purchase content data used by another user, the user canreadily and speedily purchase the content data. For example, in the casewhere the purchasing guidance information is image data of a purchaseorder screen that provides a guide for the user to perform the purchaseoperation, the information processing apparatus changes the display tothe purchase order screen when the user has made a selection ofidentification information. This allows the user to purchase contentdata readily and speedily.

In an eighteenth aspect of the present invention, the program stored inthe computer-readable storage medium further causes the computer to actas selection receiving means, fourth transmitting means, fourthreceiving means, and third output means. The selection receiving meansreceives, from a user of the information processing apparatus, aselection operation of selecting identification information from amongthe identification information outputted by the first output means. Thefourth transmitting means transmits, to a server, the identificationinformation selected by the selection operation. The fourth receivingmeans receives, from the server, detailed information about content dataassociated with the identification information selected by the selectionoperation, and/or purchasing guidance information for purchasing thecontent data. The third output means outputs the detailed informationand/or the purchasing guidance information received by the fourthreceiving means.

According to the above configuration, when the user has performed aselection operation of selecting identification information, theinformation processing apparatus transmits the selected identificationinformation to the server, and receives from the server detailedinformation and/or purchasing guidance information associated with theidentification information. This makes it possible to provide the userwith the latest detailed information and/or the latest purchasingguidance information.

In a nineteenth aspect of the present invention, according to theprogram stored in the computer-readable storage medium, theidentification information contains data of an icon that visuallyindicates the content data, and the first output means outputs data fordisplaying the icon, based on the data of the icon. According to thisconfiguration, the use of the icon allows the user to visually andreadily recognize the nature of the content data.

In a twentieth aspect of the present invention, according to the programstored in the computer-readable storage medium, the storage sectionstores at least one piece of character information. The transmissiondata generation means generates the transmission data such that thetransmission data contains the at least one piece of characterinformation and the identification information. The first output meansgenerates a character image from character information that is containedin data received from said another information processing apparatus, andoutputs the character image together with identification informationcontained in the received data. According to this configuration, thecharacter image is displayed together with the identificationinformation. This makes it possible to display the identificationinformation in a visually amusing manner.

In a twenty-first aspect of the present invention, the program stored inthe computer-readable storage medium further causes the computer to actas character generation operation receiving means and charactergeneration means. The character generation operation receiving meansreceives a generation operation that a user of the informationprocessing apparatus performs for generating character information. Thecharacter generation means generates, when the character generationoperation receiving means has received the generation operation, thecharacter information in accordance with the generation operation, andstores the character information in the storage section.

According to the above configuration, the information processingapparatus transmits data that contains identification information andcharacter information generated by the user, and receives data thatcontains identification information and character information generatedby another user (i.e., the user of another information processingapparatus). The information processing apparatus displays theidentification information and a character image based on the receiveddata. The character image is created by said another user, andtherefore, shows his/her characteristics. This allows the user of theinformation processing apparatus to be informed of the characteristicsof said another user who uses content data identified by theidentification information contained in the received data.

In a twenty-second aspect of the present invention, the program storedin the computer-readable storage medium further causes the computer toact as prohibiting means. The prohibiting means performs a process ofimposing, for a first predetermined period after the first receivingmeans has received the identification information and/or for a secondpredetermined period after the first transmitting means has transmittedthe transmission data, a prohibition of further reception of theidentification information from said another information processingapparatus which is the source of the identification information that hasbeen received by the first receiving means and/or a prohibition offurther transmission of the transmission data to said anotherinformation processing apparatus which is the destination of thetransmission data that has been transmitted by the first transmittingmeans, and one or both of: a process of removing, after the firstpredetermined period has elapsed, the prohibition of further receptionof the identification information from said another informationprocessing apparatus which is the source of the identificationinformation that has been received by the first receiving means and/orthe prohibition of further transmission of the transmission data to saidanother information processing apparatus which is the destination of thetransmission data that has been transmitted by the first transmittingmeans; and a process of removing, after the second predetermined periodhas elapsed, the prohibition of further reception of the identificationinformation from said another information processing apparatus which isthe source of the identification information that has been received bythe first receiving means and/or the prohibition of further transmissionof the transmission data to said another information processingapparatus which is the destination of the transmission data that hasbeen transmitted by the first transmitting means. According to thisconfiguration, for the first predetermined period after the informationprocessing apparatus has received the identification information and/orfor the second predetermined period after the information processingapparatus has transmitted the identification information, theinformation processing apparatus refrains from performing furtherreception of identification information from and/or further transmissionof identification information to said another information processingapparatus. This prevents data reception from and/or data transmission tosaid another information processing apparatus from being unnecessarilyrepeated within a short period of time. For example, assume a case wherethe information processing apparatus and said another informationprocessing apparatus are handheld terminal apparatuses andtransmit/receive identification information to/from each other byshort-distance wireless communication. In such a case, if the userscarrying these information processing apparatuses approach each other(e.g., pass each other) so close to allow the information processingapparatuses to communicate with each other, then identificationinformation is transmitted/received therebetween. Here, each of thefirst and second predetermined periods may be set to a length that isexpected to be longer than a period that is required for the users topass each other. This prevents identification information from beingunnecessarily transmitted/received between the information processingapparatuses multiple times during a period in which the users pass eachother only once.

After the first predetermined period has elapsed, the informationprocessing apparatus performs previously-prohibited identificationinformation reception from and/or previously-prohibited identificationinformation transmission to said another information processingapparatus again, and/or, after the second predetermined period haselapsed, the information processing apparatus performspreviously-prohibited identification information reception from and/orpreviously-prohibited identification information transmission to saidanother information processing apparatus again. Note that identificationinformation of which reception from and/or transmission to said anotherinformation processing apparatus is prohibited for the firstpredetermined period after the reception of identification informationfrom said another information processing apparatus has been performedand/or for the second predetermined period after the transmission ofidentification information to said another information processing hasbeen performed, is both of the following: the same identificationinformation as that previously received from said another informationprocessing apparatus and/or the same identification information as thatpreviously transmitted to said another information processing apparatus;and identification information different from that previously receivedfrom said another information processing apparatus and/or identificationinformation different from that previously transmitted to said anotherinformation processing apparatus. After the first predetermined periodhas elapsed, the information processing apparatus is allowed to transmitto and receive from said another information processing apparatus bothof the following: the same identification information as that previouslyreceived from said another information processing apparatus and/or thesame identification information as that previously transmitted to saidanother information processing apparatus; and identification informationdifferent from that previously received from said another informationprocessing apparatus and/or identification information different fromthat previously transmitted to said another information processingapparatus, and/or, after the second predetermined period has elapsed,the information processing apparatus is allowed to transmit to andreceive from said another information processing apparatus both of thefollowing: the same identification information as that previouslyreceived from said another information processing apparatus and/or thesame identification information as that previously transmitted to saidanother information processing apparatus; and identification informationdifferent from that previously received from said another informationprocessing apparatus and/or identification information different fromthat previously transmitted to said another information processingapparatus. Accordingly, for example, even if the information processingapparatus performs short-distance wireless communication with otherinformation processing apparatuses in an area where population densityis low and the number of the other information processing apparatuses issmall, the information processing apparatus can still receive a certainnumber of pieces of identification information. Also, the user of theinformation processing apparatus can obtain useful information that theuser has received identification information from the same user aplurality of times. Note that, in the above example, that is, in thecase where the information processing apparatus and another informationprocessing apparatus are handheld terminal apparatuses andtransmit/receive identification information to/from each other by theshort-distance wireless communication, if the users of these informationprocessing apparatuses pass each other a plurality of times, the sameidentification information may be transmitted/received therebetween eachtime they pass each other. In this case, the user of the informationprocessing apparatus can obtain useful information that the user haspassed the user of said another information processing apparatus aplurality of times.

As a variation of the twenty-second aspect of the present invention, theinformation processing apparatus may be configured not to transmit, evenafter the first predetermined period or the second predetermined periodhas elapsed, identification information to another informationprocessing apparatus to which the information processing apparatus hasalready transmitted the same identification information. As anothervariation, the information processing apparatus may be configured not toreceive, even after the first predetermined period or the secondpredetermined period has elapsed, identification information which theinformation processing apparatus has already received.

In order to achieve the above-mentioned object, in a twenty-third aspectof the present invention, an information processing apparatus includes:a storage section for storing content data; content data executionmeans, transmission data generation means, first transmitting means,first receiving means, and first output means. The content dataexecution means executes the content data. The transmission datageneration means generates transmission data that containsidentification information of the content data executed by the contentdata execution means. The first transmitting means transmits thetransmission data to another information processing apparatus. The firstreceiving means receives, from said another information processingapparatus, identification information of content data executed by saidanother information processing apparatus. The first output means outputsthe identification information received by the first receiving means.

In order to achieve the above-mentioned object, in a twenty-fourthaspect of the present invention, an information processing systemincludes: a storage section for storing content data; content dataexecution means, transmission data generation means, first transmittingmeans, first receiving means, and first output means. The content dataexecution means executes the content data. The transmission datageneration means generates transmission data that containsidentification information of the content data executed by the contentdata execution means. The first transmitting means transmits thetransmission data to another information processing apparatus. The firstreceiving means receives, from said another information processingapparatus, identification information of content data executed by saidanother information processing apparatus. The first output means outputsthe identification information received by the first receiving means.

Note that, in this aspect, the information processing system may includea single apparatus or a plurality of apparatuses. For example, thesystem may include only one information processing apparatus, and theone information processing apparatus may include the storage section,the content data execution means, the transmission data generationmeans, the first transmitting means, the first receiving means, and thefirst output means. Alternatively, the system may include a server andan information processing apparatus. The server may include some of thefollowing components: the storage section, the content data executionmeans, the transmission data generation means, the first transmittingmeans, the first receiving means, and the first output means. Then, theinformation processing apparatus may include the other of thesecomponents.

In order to achieve the above-mentioned object, in a twenty-fifth aspectof the present invention, an information processing method includes acontent data executing step, a transmission data generating step, atransmitting step, a receiving step, and an outputting step. The contentdata executing step is a step of executing content data. Thetransmission data generating step is a step of generating transmissiondata that contains identification information of the content dataexecuted at the content data executing step. The transmitting step is astep of transmitting the transmission data to another informationprocessing apparatus. The receiving step is a step of receiving, fromsaid another information processing apparatus, identificationinformation of content data executed by said another informationprocessing apparatus. The outputting step is a step of outputting theidentification information received at the receiving step.

The twenty-third to twenty-fifth aspects provide the same functions andeffects as those of the above first aspect.

According to the present invention, the information processing apparatus(hereinafter, referred to as “the terminal apparatus”) is capable ofobtaining, and notifying its user of, identification information ofcontent data executed by a specific information processing apparatusthat is a communication recipient of the terminal apparatus. Since thespecific information processing apparatus is the communication recipientof the terminal apparatus, the specific information processing apparatusis closely related to the terminal apparatus. For example, in the casewhere the terminal apparatus obtains identification information ofcontent data from the specific information processing apparatus byperforming short-distance communication therewith, the specificinformation processing apparatus is located within a short distance fromthe terminal apparatus. In another example, in the case where theterminal apparatus obtains identification information of content datafrom the specific information processing apparatus over the Internet, itis likely that the user of the terminal apparatus and the user of thespecific information processing apparatus know each other.

Thus, according to the present invention, the information processingapparatus (i.e., the terminal apparatus) is capable of obtaining, andnotifying its user of, identification information of content dataexecuted by another terminal apparatus that is closely related to theterminal apparatus.

These and other objects, features, aspects and advantages of the presentinvention will become more apparent from the following detaileddescription of the present invention when taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an external view of a game apparatus included in a systemaccording to an embodiment of the present invention;

FIG. 2A is a block diagram showing an example of an internalconfiguration of the game apparatus;

FIG. 2B shows an example of the system according to the embodiment;

FIG. 2C is a block diagram showing an example of a configuration of aserver included in the system according to the embodiment;

FIG. 3 shows an example of a menu screen displayed by the gameapparatus;

FIG. 4 shows an example of a most-recently-used app ID informationscreen of another user;

FIG. 5 shows an example of a ranking screen displayed by the gameapparatus;

FIG. 6 shows an example of programs and various data stored in a mainmemory;

FIG. 7 shows an example of a configuration of an app storage area;

FIG. 8A shows an example of most-recently-used app ID information;

FIG. 8B shows an example of character information;

FIG. 9 illustrates an example of data stored in a transmission box;

FIG. 10 is a communication sequence diagram showing an example of apassing communication process;

FIG. 11A shows an example of a connection request frame;

FIG. 11B shows an example of a connection response frame;

FIG. 11C shows an example of an application information frame;

FIG. 12 is a flowchart showing an example of the passing communicationprocess performed by the game apparatus;

FIG. 13 is a flowchart showing an example of a main process performed bythe game apparatus;

FIG. 14 is a flowchart showing an example of an out-and-aboutapplication execution process;

FIG. 15 shows an example of a used app display screen;

FIG. 16 shows an example of a most-recently-used app ID informationscreen of another user;

FIG. 17 shows an example of out-and-about app main screens;

FIG. 18 is a flowchart showing an example of a setting process;

FIG. 19 shows an example of a screen displayed on a lower LCD;

FIG. 20 is a flowchart showing an example of a ranking process;

FIG. 21 shows an example of a ranking period change screen;

FIG. 22 is a flowchart showing an example of atime-of-application-selection process;

FIG. 23 is a flowchart showing an example of a detailed informationdistribution process;

FIG. 24 is a flowchart showing an example of a portrait creationprocess; and

FIG. 25 shows an example of a portrait creation screen.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, a system according to an embodiment of the presentinvention is described with reference to the drawings. The system is anexample of an information processing system of the present invention. Inthe system, a handheld game apparatus communicates with another handheldgame apparatus by short-distance wireless communication. Via thewireless communication, the handheld game apparatus receives, from theother handheld game apparatus, identification information of anapplication executed by the other handheld game apparatus (hereinafter,referred to as “most-recently-used app ID information D1”). Themost-recently-used app ID information D1 is described below in detailwith reference to FIG. 8A. The game apparatus is capable of displayingthe received most-recently-used app ID information D1, thereby allowingthe user of the game apparatus to know the status of usage of theapplication by the user of the other game apparatus, which is locatednearby. The game apparatus is also capable of transmitting, to the othergame apparatus, identification information of an application that thegame apparatus has executed, thereby allowing the user of the other gameapparatus to know the status of usage of the application by the user ofthe game apparatus. Note that the most-recently-used app ID informationD1 is an example of identification information of the present invention.In the present embodiment, the game apparatus and the other gameapparatus have the same configuration. However, the present invention isnot limited thereto. They may be the same type of apparatuses withdifferent configurations. The configuration of the game apparatusincluded in the system of the present embodiment is described below withreference to FIG. 1 and FIG. 2.

FIG. 1 is an external view of the game apparatus included in the systemaccording to the present embodiment. The game apparatus executes aprogram of the present invention to act as an information processingapparatus of the present invention.

FIG. 1 shows a game apparatus 1 which is a foldable handheld gameapparatus. FIG. 1 shows the game apparatus 1 in an opened state. Thegame apparatus 1 is in a size that allows the user to hold it with theirone or both hands even when the game apparatus 1 is in the opened state.

The game apparatus 1 includes a lower housing 11 and an upper housing21. The lower housing 11 and the upper housing 21 are connected to eachother in a manner that allows them to be opened and closed (i.e.,foldable). In the example of FIG. 1, the lower housing 11 and the upperhousing 21 are each formed in a plate-like shape of a horizontally longrectangle, and are rotatably connected at their longer sides. Normally,the user uses the game apparatus 1 in the opened state. When not usingthe game apparatus 1, the user keeps the game apparatus 1 in the closedstate. In the example of FIG. 1, the state of the game apparatus 1 isnot limited to the opened or closed state. For example, with frictionforce occurring at the connection between the lower housing 11 and theupper housing 21, the game apparatus 1 can be maintained to be in anintermediate state between the opened state and the closed state, at anyangle formed by the lower housing 11 and the upper housing 21. In otherwords, the upper housing 21 can be caused to remain stationary at anyangle with respect to the lower housing 11.

The lower housing 11 includes a lower LCD (Liquid Crystal Display) 12.The lower LCD 12 has a horizontally long shape, and is disposed suchthat the orientation of the longer sides thereof coincides with theorientation of the longer sides of the lower housing 11. Although theLCD is used as a display device that is incorporated in the gameapparatus 1 in the present embodiment, any other display device, such asa display device using EL (Electro Luminescence), may be used, forexample. In the game apparatus 1, a display device having any resolutionmay be used. Although details are described below, the lower LCD 12 ismainly used for displaying, in real time, an image captured by an innercamera 23 or an outer camera 25.

The lower housing 11 includes operation buttons 14A to 14K and a touchpanel 13 as input devices. As shown in FIG. 1, a direction input button14A, an operation button 14B, an operation button 14C, an operationbutton 14D, an operation button 14E, a power button 14F, a start button14G, and a select button 14H among the operation buttons 14A to 14K areprovided at an inner main surface of the lower housing 11, which innermain surface is, when the upper housing 21 and the lower housing 11 areclosed, accommodated within the game apparatus 1. The direction inputbutton 14A is used for a selection operation, for example. The operationbuttons 14B to 14E are used for a determination operation, acancellation operation, and the like. The power button 14F is used topower ON/OFF the game apparatus 1. In the example of FIG. 1, thedirection input button 14A and the power button 14F are provided at theinner main surface of the lower housing 11, so as to be located to theright or left (to the left, in FIG. 1) of the lower LCD 12 which isprovided around the center of the inner main surface. The operationbuttons 14B to 14E, the start button 14G, and the select button 14H areprovided at the inner main surface of the lower housing 11, so as to belocated to the other side (to the right, in FIG. 1) of the lower LCD 12.The start button 14G and the select button 14H are used for performingvarious operations with the game apparatus 1.

Note that the operation buttons 14I to 14K are not shown in FIG. 1. Forexample, the operation button 141 which is an L-button is provided atthe left end of an upper side surface of the lower housing 11, and theoperation button 14J which is an R-button is provided at the right endof the upper side surface of the lower housing 11. The L-button 14I andthe R-button 14J are each used for performing an operation ofinstructing the game apparatus 1 to capture an image (i.e., a shutteroperation), for example. Further, the operation button 14K which is asound volume button is provided at a left side surface of the lowerhousing 11. The sound volume button 14K is used to adjust the soundvolume of loudspeakers included in the game apparatus 1.

The game apparatus 1 further includes the touch panel 13 as anotherinput device in addition to the operations buttons 14A to 14K. The touchpanel 13 is mounted so as to cover the screen of the lower LCD 12. Inthe present embodiment, a resistive film type touch panel is used as thetouch panel 13, for example. However, the touch panel 13 is not limitedto the resistive film type touch panel, but may be any press-type touchpanel. The touch panel 13 used in the present embodiment has the sameresolution (detection accuracy) as that of the lower LCD 12, forexample. However, the resolution of the touch panel 13 and that of thelower LCD 12 need not be the same. An insertion opening (indicated by adashed line in FIG. 1) is provided in a right side surface of the lowerhousing 11. The insertion opening can accommodate a stylus pen 27 whichis used for operating the touch panel 13. Although an input on the touchpanel 13 is usually performed using the stylus pen 27, the touch panel13 can be operated not only with the stylus pen 27 but with a finger ofthe user.

An insertion opening (indicated by a two-dot chain line in FIG. 1) foraccommodating a memory card 28 is also provided in the right sidesurface of the lower housing 11. Inside the insertion opening, aconnector (not shown) is provided for electrically connecting the gameapparatus 1 and the memory card 28. The memory card 28 is, for example,an SD (Secure Digital) memory card, and detachably attached to theconnector. The memory card 28 is used, for example, for storing (saving)an image captured by the game apparatus 1, and for loading an imagegenerated by another apparatus into the game apparatus 1.

Further, an insertion opening (indicated by a dashed-dotted line inFIG. 1) for accommodating a cartridge 29 is provided in the upper sidesurface of the lower housing 11. Inside the insertion opening, aconnector (not shown) is provided for electrically connecting the gameapparatus 1 and the cartridge 29. The cartridge 29 is a storage mediumwhich stores a game program or the like, and the cartridge 29 isdetachably inserted into the insertion opening provided in the lowerhousing 11.

Three LEDs 15A to 15C are mounted at the left side of the connectionbetween the lower housing 11 and the upper housing 21. Here, the gameapparatus 1 is capable of performing wireless communication with otherapparatuses. The first LED 15A is lit up while the power of the gameapparatus 1 is ON. The second LED 15B is lit up while the game apparatus1 is being charged. The third LED 15C is lit up while the wirelesscommunication is being established. Thus, each of the three LEDs 15A to15C allows the user to be informed of a state of the game apparatus 1,i.e., whether the game apparatus 1 is ON or OFF, whether the gameapparatus 1 is being charged, and whether the wireless communication isbeing established.

The upper housing 21 includes an upper LCD 22. The upper LCD 22 has ahorizontally long shape, and is disposed such that the orientation ofthe longer sides thereof coincides with the orientation of the longersides of the upper housing 21. Similar to the lower LCD 12, a displaydevice of any type different from that of the upper LCD 22, or a displaydevice having any resolution different from that of the upper LCD 22,may be used in place of the upper LCD 22. A touch panel may be providedso as to cover the upper LCD 22. The upper LCD 22 displays, for example,an operation explanation screen for teaching the user the roles of theoperation buttons 14A to 14K and the touch panel 13.

The upper housing 21 includes two cameras (the inner camera 23 and theouter camera 25). As shown in FIG. 1, the inner camera 23 is mounted atan inner main surface of the upper housing 21, in the vicinity of theaforementioned connection. On the other hand, the outer camera 25 ismounted at a surface reverse of the inner main surface at which theinner camera 23 is mounted, that is, at the outer main surface of theupper housing 21 (which acts as an external surface of the gameapparatus 1 when the game apparatus 1 is in the closed state and whichis the back surface of the upper housing 21 shown in FIG. 1). In FIG. 1,the outer camera 25 is indicated by a dashed line. The above arrangementallows the inner camera 23 to capture an image of a view in a directionin which the inner main surface of the upper housing 21 faces, and theouter camera 25 to capture an image of a view in a direction opposite tothe image capturing direction of the inner camera 23, that is, an imageof a view in a direction in which the outer main surface of the upperhousing 21 faces. Thus, in the present embodiment, the two cameras, thatis, the inner camera 23 and the outer camera 25, are provided such thatthe image capturing directions thereof are opposite to each other. Forexample, the user can capture, by using the inner camera 23, an image ofa view that is seen from the game apparatus 1 in the direction of theuser. Also, the user can capture, by using the outer camera 25, an imageof a view that is seen from the game apparatus 1 in the directionopposite to the user.

A microphone (a microphone 41 shown in FIG. 2A) which acts as a soundinput device is accommodated inside the inner main surface of the upperhousing 21, near the aforementioned connection. Also, in the inner mainsurface of the upper housing 21, near the connection, a microphone hole16 is formed so as to allow the microphone 41 to detect a sound outsidethe game apparatus 1. The position in which the microphone 41 isaccommodated and the position of the microphone hole 16 need not belocated near the connection. For example, the microphone 41 may beaccommodated in the lower housing 11, and the microphone hole 16 may beprovided in the lower housing 11 at a position corresponding to theposition in which the microphone 41 is accommodated.

At the outer main surface of the upper housing 21, a fourth LED 26(indicated by a dashed line in FIG. 1) is mounted. The fourth LED 26 islit up at the time when image capturing is performed by the outer camera25 (i.e., when the shutter button is pressed). The fourth LED 26 is alsolit up while a moving image is being captured by the outer camera 25.The fourth LED 26 allows a subject of image capturing and people in thesurroundings to be notified of the image capturing having been performed(or being performed) by the game apparatus 1.

In the inner main surface of the upper housing 21, sound holes 24 areformed to the right and left of the upper LCD 22, respectively, whichupper LCD 22 is provided around the center of the inner main surface.Loudspeakers are accommodated in the upper housing 21 at the back of thesound holes 24, respectively. The sound holes 24 are holes for releasingsounds generated by the loudspeakers to the outside of the gameapparatus 1.

As described above, the upper housing 21 includes: the inner camera 23and the outer camera 25 which are provided for capturing images; and theupper LCD 22 which is display means for displaying an operationexplanation screen at the time of, for example, image capturing. Thelower housing 11 includes: input devices (the touch panel 13 and thebuttons 14A to 14K) with which to perform operation inputs on the gameapparatus 1; and the lower LCD 12 which is display means for displayinga game screen. Accordingly, the input devices can be used in such asmanner as follows: when using the game apparatus 1, the user can holdthe lower housing 11 and perform inputs via the input devices whilelooking at captured images (images captured by the cameras) displayed onthe lower LCD 12.

Next, an internal configuration of the game apparatus 1 is describedwith reference to FIG. 2A. FIG. 2A is a block diagram showing an exampleof the internal configuration of the game apparatus 1.

As shown in FIG. 2A, the game apparatus 1 includes electronic componentssuch as a CPU (Central Processing Unit) 31, a main memory 32, a memorycontrol circuit 33, a saved data memory 34, a preset data memory 35, amemory card interface (memory card I/F) 36, a cartridge interface(cartridge I/F) 43, a wireless communication module 37, a real timeclock (RTC) 38, a power supply circuit 39, an interface circuit (I/Fcircuit) 40, and the like. These electronic components are mounted on anelectronic circuit board and accommodated in the lower housing 11 (or inthe upper housing 21).

The CPU 31 is information processing means for executing predeterminedprograms (including an information processing program of the presentinvention). The CPU 31 includes a core 31A for performing processingrelating to communication and a core 31B for executing an application.In the present embodiment, predetermined programs are stored in aninternal memory of the game apparatus 1 (e.g., the saved data memory34), the memory card 28, and the cartridge 29. The core 31A executessuch a predetermined program to perform a part of a “passingcommunication” process, which is described below. The core 31B alsoexecutes such a predetermined program to perform a main process, anout-and-about application execution process, a ranking process, asetting process, a time-of-application-selection process, a portraitcreation process, or other game processes, which are described below.

In the present embodiment, the core 31A solely performs a communicationprocess. Therefore, even when the core 31B is executing an application,the core 31A can perform the communication process for communicatingwith another game apparatus, regardless of the execution of theapplication by the core 31B. Note that programs to be executed by theCPU 31 may be stored in advance in an internal memory of the gameapparatus 1, or may be obtained from the memory card 28 and/or thecartridge 29, or may be obtained from another apparatus throughcommunication therewith. For example, a program may be obtained by meansof downloading via the Internet from a predetermined server, or may beobtained by downloading a predetermined program from a stationary gameapparatus through communication therewith.

The main memory 32, the memory control circuit 33, and the preset datamemory 35 are connected to the CPU 31. The saved data memory 34 isconnected to the memory control circuit 33. The main memory 32 isstorage means used as a work area and a buffer area for the CPU 31. Inother words, the main memory 32 stores various data to be used in theaforementioned processing by the CPU 31, and also stores a programobtained from the outside (e.g., from the memory card 28, the cartridge29, another apparatus, or the like). In the present embodiment, a PSRAM(Pseudo-SRAM) is used as the main memory 32, for example. The saved datamemory 34 is storage means for storing a program to be executed by theCPU 31, data of images captured by the inner camera 23 and the outercamera 25, and the like. The saved data memory 34 is structured as anonvolatile storage medium. In the present embodiment, the saved datamemory 34 is structured as a NAND flash memory, for example. The memorycontrol circuit 33 controls, in accordance with instructions from theCPU 31, reading and writing of data from and into the saved data memory34. The preset data memory 35 is storage means for storing data (presetdata), such as various parameters preset in the game apparatus 1. Aflash memory connected to the CPU 31 via an SPI (Serial PeripheralInterface) bus can be used as the preset data memory 35.

The memory card I/F 36 is connected to the CPU 31. The memory card I/F36 reads and writes data from and into the memory card 28 attached tothe connector, in accordance with instructions from the CPU 31. In thepresent embodiment, data of images captured by the outer camera 25 iswritten into the memory card 28, and such image data stored in thememory card 28 is read from the memory card 28 to be stored in the saveddata memory 34.

The cartridge I/F 43 is connected to the CPU 31. The cartridge I/F 43reads and writes data from and into the cartridge 29 attached to theconnector, in accordance with instructions from the CPU 31. In thepresent embodiment, an application program is read from the cartridge 29to be executed by the CPU 31, and data relating to the applicationprogram (e.g. saved data of a game) is written into the cartridge 29.

The wireless communication module 37 has a function of connecting to awireless LAN, for example, by a method conformed to the standard ofIEEE802.11b/g. The wireless communication module 37 is connected to thecore 31A. The core 31A is capable of transmitting/receiving data to/fromanother apparatus via the Internet (or without using the Internet) bymeans of the wireless communication module 37.

The wireless communication module 37 has a function of performingwireless communication with a game apparatus of the same type as thegame apparatus 1 via a predetermined communication method. Here, radiowaves that the wireless communication module 37 uses in the wirelesscommunication are, for example, weak radio waves, the use of which doesnot require a radio station license. For example, the wirelesscommunication module 37 performs short-distance wireless communicationof which the data transmission distance is within a range of 10 m.Accordingly, by means of the wireless communication module 37, the core31A can transmit/receive data to/from another game apparatus 1 when adistance between the location of the core 31A and the location of thisother game apparatus 1 is within a communicable range (e.g., when thedistance is equal to or shorter than 10 m). The datatransmission/reception is performed not only when an instruction isreceived from the user but is automatically repeated at a predeterminedcycle without reception of an instruction from the user. That is, thecore 31A automatically searches for another game apparatus 1 whosedistance from the core 31A is within the communicable range. Then, thecore 31A automatically establishes communication with another gameapparatus 1 which is found as a result of the search, and automaticallytransmits/receives data to/from this other game apparatus 1. After thecommunication is completed, the core 31A automatically disconnects thecommunication. Such a series of processing is repeated at apredetermined cycle. Hereinafter, this type of communication is referredto as “passing communication”. A process performed for the passingcommunication is hereinafter referred to as a “passing communicationprocess”.

A feature of the present embodiment is that, by means of the passingcommunication, the core 31A transmits, to another game apparatus 1,most-recently-used app ID information D1 that identifies an applicationmost recently executed by the game apparatus 1 which includes the core31A, and receives, from the other game apparatus 1, most-recently-usedapp ID information D1 that identifies an application most recentlyexecuted by the other game apparatus 1.

The passing communication process is always performed while a pluralityof game apparatuses 1 that are to communicate with each other are ON. Tobe specific, the passing communication process is performed not onlywhen the plurality of game apparatuses 1 are in sleep mode but alsowhile they are executing applications. The reason for this is that thecore 31B solely performs application execution and the core 31A iscapable of performing the passing communication process in parallel withthe application execution by the core 31B. The term “sleep mode” refersto a power-saving mode where a part of the functions of the gameapparatus 1 (e.g., a part of the functions of the CPU 31, a part of thefunctions of the display, or the like) is ceased. For example, a statewhere application execution is not performed since one or both of thecore 31A and the core 31B are not operating, is also referred to as asleep mode. Note that the “passing communication process” is describedbelow in detail with reference to FIG. 12.

The RTC 38 and the power supply circuit 39 are connected to the CPU 31.The RTC 38 counts time, and outputs the time to the CPU 31. For example,the CPU 31 is capable of calculating a current time (date) and the likebased on the time counted by the RTC 38. The power supply circuit 39controls power supplied from a power source (typically, a batteryaccommodated in the lower housing 11) of the game apparatus 1 to supplythe power to the components of the game apparatus 1.

The game apparatus 1 includes the microphone 41 and an amplifier 42. Themicrophone 41 and the amplifier 42 are connected to the I/F circuit 40.The microphone 41 detects a voice that is uttered by the user in thedirection of the game apparatus 1, and outputs sound signals indicativeof the voice to the I/F circuit 40. The amplifier 42 amplifies soundsignals from the I/F circuit 40, and causes the loudspeakers (not shown)to output the amplified signals. The I/F circuit 40 is connected to theCPU 31.

The touch panel 13 is connected to the I/F circuit 40. The I/F circuit40 includes a sound control circuit for controlling the microphone 41and the amplifier 42 (i.e., the loudspeakers), and includes a touchpanel control circuit for controlling the touch panel 13. The soundcontrol circuit performs A/D conversion or D/A conversion of a soundsignal, or converts a sound signal into sound data in a predeterminedformat. The touch panel control circuit generates touch position data ina predetermined format based on a signal from the touch panel 13, andoutputs the touch position data to the CPU 31. For example, the touchposition data indicates coordinates of a position on an input surface ofthe touch panel 13, at which position an input has been performed. Notethat the touch panel control circuit reads a signal from the touch panel13 and generates touch position data every predetermined period. Byobtaining the touch position data via the I/F circuit 40, the CPU 31 canrecognize a position on the touch panel 13, at which position an inputhas been performed.

Operation buttons 14 include the above-described operation buttons 14Ato 14K, and are connected to the CPU 31. The operation buttons 14output, to the CPU 31, operation data indicating input states of theoperation buttons 14A to 14K (i.e., indicating whether or not theoperation buttons 14A to 14K are being pressed). The CPU 31 obtains theoperation data from the operation buttons 14, and thereby performsprocessing in accordance with inputs that have been performed via theoperation buttons 14.

The inner camera 23 and the outer camera 25 are connected to the CPU 31.Each of the inner camera 23 and the outer camera 25 captures an image inaccordance with an instruction from the CPU 31, and outputs data of thecaptured image to the CPU 31. In the present embodiment, the CPU 31instructs one of the inner camera 23 and the outer camera 25 to capturean image, and the camera which has received the instruction captures animage and sends image data to the CPU 31.

The lower LCD 12 and the upper LCD 22 are connected to the CPU 31. Eachof the lower LCD 12 and the upper LCD 22 displays an image in accordancewith an instruction from the CPU 31.

Hereinafter, the system according to the present embodiment is describedwith reference to FIG. 2B. FIG. 2B shows an example of the systemaccording to the present embodiment. The system according to the presentembodiment includes a plurality of game apparatuses 1 and a server 4which is communicably connected to the plurality of game apparatuses 1via access points 2 and a network 3. The plurality of game apparatuses 1perform the above-described passing communication, without using theserver 4 or network 3, thereby transmitting/receiving most-recently-usedapp ID information D1 to/from each other. This allows each of the usersof the plurality of game apparatuses 1 to know an application (orapplications) most recently executed by the other user(s). Here, datatransmission/reception by the passing communication is performable onlywhen, as described above, the plurality of game apparatuses 1 arelocated such that the distance therebetween is within the communicablerange. Accordingly, each user can know an application (or applications)used by the other user(s) located nearby. This allows each user toobtain useful information that is closely related to them.

Since the game apparatus 1 is a handheld game apparatus, the usercarries it. Therefore, the user can obtain, wherever the user goes,identification information of other game apparatuses 1 that are locatedwithin a short distance from the user's game apparatus 1. This allowsthe user to know the status of usage of applications by other userswhose area of activities is similar to that of the user. For example, ifthe user carrying the game apparatus 1 likes baseball and is in aballpark, then the user can obtain, by using the game apparatus 1,most-recently-used app ID information D1 that indicates an applicationused by another user in the same ballpark, who also likes baseball.

The game apparatus 1 also performs the time-of-application-selectionprocess for receiving, from the server 4, information in detail about anapplication that is indicated by most-recently-used app ID informationD1 received from another game apparatus 1 (hereinafter, referred to as“detailed information”). Information referred to as the detailedinformation is, for example, information introducing the product (i.e.,the application) or information necessary for purchasing the product(the URL of a website selling the product, data of a purchase orderscreen for the product, etc.). Through the reception of the detailedinformation, the user of the game apparatus 1 can know in detail theapplication used by the user of this other game apparatus 1, andpurchase the application without having to search for a website sellingthe application.

FIG. 2B shows only two game apparatuses 1. However, the system of thepresent embodiment may include three or more game apparatuses 1.Moreover, the system of the present embodiment may include a pluralityof servers 4. Note that the network 3 is a wired or wireless networksuch as the Internet, WAN, LAN, or the like.

A configuration of the server 4 is described below with reference toFIG. 2C. FIG. 2C is a block diagram showing an example of aconfiguration of the server 4 included in the system according to thepresent embodiment.

The server 4 includes an operation section 60, a communication section61, a ROM 62, an HDD 63, a RAM 64, and a CPU 65, which are communicablyconnected one another via a bus 66.

The operation section 60 has a function of receiving an operationperformed by the administrator of the server 4. The communicationsection 61 has a function of communicating with another apparatus viathe network 3. The ROM 62 stores a system program for starting theserver 4 and for realizing fundamental functions of the server 4. TheHDD 63 stores programs including a communication program for allowingthe server 4 to communicate with the game apparatuses 1, and stores datanecessary for executing the programs. The data contains detailedinformation to be downloaded by the game apparatuses 1. The RAM 64 actsas a work area for the CPU 65 and stores a table T which is read fromthe HDD 63. In the table T, application IDs, detailed information, andonline sales information are registered in association withapplications. Note that the online sales information indicates whetherthe applications can be purchased online from the server 4.

In response to a request from one of the game apparatuses 1 fordistribution of detailed information, the CPU 65 searches the table Tfor an application ID that is contained in the request. The CPU 65 thenreads detailed information that is associated with the application ID,and transmits the detailed information to the game apparatus 1 that hasmade the request.

Described below with reference to FIG. 3 is an interface for the user ofthe game apparatus 1 to select an application that is to be executed bythe game apparatus 1. FIG. 3 shows an example of a menu screen displayedby the game apparatus 1. The game apparatus 1 is capable of storing, inthe saved data memory 34, an application that is loaded from thecartridge 29 via the cartridge I/F 43 and an application downloaded fromthe server 4 (see FIG. 2B). Here, some applications may be stored in thesaved data memory 34 as factory setting. These applications stored inthe saved data memory 34 and the cartridge 29 connected to the cartridgeI/F 43 are executable by the game apparatus 1.

When the power of the game apparatus 1 is turned on, the lower LCD 12displays an icon G1 which shows such an executable application. It isunderstood that if there are two or more executable applications,multiple icons G1 are displayed. The user can select an application tobe executed by the game apparatus 1 by touching a corresponding one ofthe icons G1 with the stylus pen 27 twice consecutively. Note that whenthe user touches an icon G1 with the stylus pen once, then a balloon G2is displayed indicating the title of an application represented by theicon G1. In FIG. 3, the lower LCD 12 displays only four icons G1.However, by scrolling to the left or right, the user can cause the lowerLCD 12 to display other icons G1.

The application, which the user has selected on the menu screen in theabove manner, is executed. The game apparatus 1 storesmost-recently-used app ID information D1 that identifies an applicationthat has most recently been executed by the game apparatus 1. The gameapparatus 1 transmits/receives most-recently-used app ID information D1to/from another game apparatus 1 by the passing communication processdescribed above.

One of the icons G1 displayed in the menu screen shows an “out-and-aboutapplication” (hereinafter, referred to as an “out-and-about icon G1A”).When the out-and-about icon G1A is touched consecutively, theout-and-about application execution process, which is described belowwith reference to FIG. 14, is performed. In the out-and-aboutapplication execution process, a most-recently-used app ID informationscreen that shows most-recently-used app ID information D1 received fromanother game apparatus 1, is displayed.

FIG. 4 shows an example of the most-recently-used app ID informationscreen, which shows information about the user of the other gameapparatus 1 (hereinafter, “the other user”). The most-recently-used appID information screen is displayed on the upper LCD 22. Themost-recently-used app ID information screen shows: a title G3 of anapplication most recently executed by the other game apparatus 1; a username G4 of the other user; and a character image G5 which is the avatarof the other user. This allows the user of the game apparatus 1 to knowan application that has most recently been used by the other user, andto know from the character image G5 what the other user having used theapplication is like. Also, an icon image G6 representing the applicationis displayed, which allows the user to visually recognize what theapplication is like.

As described above, the game apparatus 1 is capable of displayingmost-recently-used app ID information D1 received from another gameapparatus 1. In addition, in the out-and-about application executionprocess, a ranking of most-recently-used app ID information D1 that hasbeen received is displayed. In other words, the game apparatus 1 mayreceive a plurality of types of most-recently-used app ID information D1from other game apparatuses 1. In the case where the user of the gameapparatus 1 sets a ranking period, a ranking of a plurality of types ofmost-recently-used app ID information D1 is determined based on how manytimes each type of information D1 has been received during the rankingperiod. Then, the plurality of types of most-recently-used app IDinformation D1 are displayed with the ranking. A screen displaying theranking is hereinafter referred to as a “ranking screen”.

FIG. 5 shows an example of the ranking screen displayed by the gameapparatus 1. The ranking screen is displayed on the lower LCD 12. Theranking screen shows a plurality of types of most-recently-used app IDinformation D1 in order of the number of times of being received duringthe ranking period. Each type of information D1 is shown together withthe title G3, the icon image G6, the number of times of being received,and the position in the ranking. Most-recently-used app ID informationD1 that has been received most frequently during the ranking period isshown at the top. The ranking screen shows all the types ofmost-recently-used app ID information D1 that have been received duringthe ranking period. The user can browse all the types ofmost-recently-used app ID information D1 by scrolling the ranking screendownward. Note that it is not necessary to show the ranking formost-recently-used app ID information D1 that is low in the ranking.While the ranking screen is being displayed, the upper LCD 22 showsmost-recently-used app ID information D1 that is the first in theranking. The upper LCD 22 in FIG. 5 shows the character image G5, whichis a character image for the most-recently-used app ID information D1 ofan application that is the first in the ranking.

Next, various programs and various data stored in the main memory 32 ofthe game apparatus 1 are described with reference to FIG. 6 and FIGS. 7to 9.

FIG. 6 shows an example of programs and various data stored in the mainmemory 32. The various data are stored in accordance with execution ofprograms by the game apparatus 1.

The main memory 32 includes an app storage area 320, a communicationprogram storage area 321, a most-recently-used app ID informationstorage area 322, a portrait character storage area 323, anexchange-purpose character ID storage area 324, a transmission box 325,a reception box 326, a reception data storage area 327, a receptionframe storage area 328, a transmission frame storage area 329, and aranking period storage area 330.

Data of an application to be executed is read from the saved data memory34 or the cartridge 29 and stored in the app storage area 320, asnecessary. An application to be stored in the app storage area 320 inthis manner is, for example, the out-and-about application, a portraitapplication, a game program, or the like, FIG. 7 shows an example ofdata stored in the app storage area 320. The app storage area 320 storesapplication data D2 as well as app ID information D3 which is read fromthe saved data memory 34 or the cartridge 29. The app ID information D3contains title data, an application ID, and icon image data. Here, thetitle data indicates the title of an application. The application ID isan identifier unique to the application. The icon image data visuallyindicates the application. Note that the app ID information D3 maycontain the ID of the icon image data in place of the icon image data,and the game apparatus 1 may specify, based on the ID, the icon imagedata which is stored in the game apparatus 1.

The communication program storage area 321 stores a communicationprogram which causes the core 31A and the wireless communication module37 to perform the above-described passing communication process.

The most-recently-used app ID information storage area 322 stores apredetermined number of pieces of most-recently-used app ID informationD1 that indicate applications most recently executed by the gameapparatus 1. In the present embodiment, the predetermined number is 1.However, the predetermined number may be two or more. FIG. 8A shows anexample of the most-recently-used app ID information D1. Themost-recently-used app ID information D1 contains title data indicatingthe title of an application, an application ID unique to theapplication, and icon image data visually indicating the application.

The portrait character storage area 323 stores pieces of characterinformation D4 each indicating a character that the user of the gameapparatus 1 creates at the time of executing the portrait application.FIG. 8B shows an example of the character information D4. The characterinformation D4 contains color information which indicates a color set bythe user, height/physical attribute information, a character name, acharacter ID, and character image information. The height/physicalattribute information indicates the height (i.e., how tall) and thephysical attribute (i.e., how thick) of the character, which are set bythe user. The character name indicates a character name set by the user.The character ID is identification information unique to the character,which is automatically set when the character information D4 isgenerated. The character image information indicates image data that theuser has selected for each part of a portrait character. In the portraitcreation process described below with reference to FIG. 24, the gameapparatus 1 receives operations which the user performs to select, foreach part of a portrait character to be created (e.g., eyes, nose,mouth, outline, hair, and the like), one among pieces of option imagedata that indicate multiple selection options. The character imageinformation indicates the IDs of such selected option image data inassociation with respective part IDs.

The exchange-purpose character ID storage area 324 stores a character IDcontained in the character information D4 that is stored in the portraitcharacter storage area 323 and that is to be transmitted, together withmost-recently-used app ID information D1, to another game apparatus 1.

The transmission box 325 stores information that is to be transmitted toanother game apparatus 1 via the passing communication process(hereinafter, referred to as “application information”). FIG. 9illustrates an example of data stored in the transmission box 325. Thetransmission box 325 stores, for each application executable by the gameapparatus 1 (e.g., for each application of which the icon is displayedas shown in FIG. 3), an application ID and main data to be transmitted.The application ID and the main data are stored as the aforementionedapplication information. In the transmission box 325, a box A is an areafor storing the application information for the out-and-aboutapplication, and the box A stores the application ID of theout-and-about application, accordingly. The box A also stores characterinformation D4, most-recently-used app ID information D1, and receptiontime information D5 as the main data to be transmitted. Since the datastored in the transmission box 325 is not yet received by acommunication recipient (i.e., another game apparatus 1), the box Astores, as the reception time information D5, information that indicatesa lack of a reception time. Here, the box A may be configured such thatonly the character information D4 and the most-recently-used app IDinformation D1 are transmitted to another game apparatus 1 asapplication information (which is an example of transmission data of thepresent invention) and the reception time information D5 is nottransmitted. Alternatively, the box A may be configured not to store thereception time information D5. Note that in the present embodiment, maindata that is associated with the same application can be received aplurality of times. In such a case, the main data having been received aplurality of times are cumulatively stored in a box that stores theapplication ID of the application.

The reception box 326 stores information that is received from anothergame apparatus 1 via the passing communication process. The receptionbox 326 has the same configuration as that of the transmission box 325shown in FIG. 9, except that the reception box 326 stores, as thereception time information D5, information that indicates a time wheninformation has been received from another game apparatus 1.Application. IDs stored in the reception box 326 are the same asapplication IDs stored in the transmission box 325. Hereinafter, in adescription where application IDs stored in the reception box 326 andapplication IDs stored in the transmission box 325 are not distinguishedfrom each other, a term “box ID” is used. The game apparatus 1 receivesonly data associated with application IDs that are the same as box IDsstored in the transmission box 325, and updates data stored in thereception box 326 with the received data.

At the time of execution of the out-and-about application, the main datathat is stored in the reception box 326 and that is associated with theapplication ID of the out-and-about application (i.e., characterinformation D4, most-recently-used app ID information D1, and receptiontime information D5) is read and stored as reception data in thereception data storage area 327. Note that each time reception data isnewly generated, the new reception data is added to the reception datathat is already stored in the reception data storage area 327. If thetotal amount of the stored reception data has exceeded the data storagecapacity, or if there exists reception data that has been stored for apredetermined period after the reception thereof, then the deletion ofreception data is performed from the oldest reception data.

The reception frame storage area 328 temporarily stores a frame that isreceived, in the passing communication process, from another gameapparatus 1 which is a communication recipient. The frame is describedbelow in detail. The transmission frame storage area 329 temporarilystores a frame that is to be transmitted in the passing communicationprocess to another game apparatus 1 which is a communication recipient.The frame is described below in detail.

The ranking period storage area 330 stores information that indicates aranking period set by the user the game apparatus 1.

Hereinafter, the above-described passing communication process isdescribed in detail with reference to FIGS. 10 to 12. The game apparatus1 and another game apparatus 1 both perform the passing communicationprocess, and thus, these game apparatuses 1 perform the passingcommunication with each other.

FIG. 10 is a communication sequence diagram showing an example of thepassing communication process. This example shows a beacon frame beingtransmitted from the game apparatus 1 to the other game apparatus 1. Thegame apparatus 1 transmits, by broadcast communication, a beacon frame(a connection request frame D6) to the other game apparatus 1 which ispresent within the above-described communicable range. Upon receivingthe connection request frame D6, the other game apparatus 1 transmits aconnection response frame D7 to the game apparatus 1 which is the sourceof the connection request frame D6.

Upon receiving the connection response frame D7, the game apparatus 1transmits, to the other game apparatus 1, an application informationframe D8 which contains application information. Here, the applicationinformation frame D8 may contain most-recently-used app ID informationD1. Upon receiving the application information frame D8, the other gameapparatus 1 transmits to the game apparatus 1 an application informationframe D8 that the other game apparatus has generated. In the presentembodiment, such a series of communication is repeated at apredetermined cycle. Note that in the case where the game apparatus 1receives a connection request, the frames transmitted from the gameapparatus 1 to the other game apparatus 1 in the example shown in FIG.10 are transmitted from the other game apparatus 1 to the game apparatus1, and the frames transmitted from the other game apparatus 1 to thegame apparatus 1 in the example shown in FIG. 10 are transmitted fromthe game apparatus 1 to the other game apparatus 1. Further, in thepresent embodiment, the game apparatus 1 transmits the applicationinformation frame D8 in response to receiving the connection responseframe D7. However, as an alternative, the game apparatus 1 may transmitthe application information frame D8 at the timing of transmitting theconnection response frame D7.

Hereinafter, frames D6 to D8 transmitted/received in the passingcommunication are described with reference to FIGS. 11A to 11C. FIG. 11Ashows an example of the connection request frame D6. The connectionrequest frame D6 contains a frame type F_TYP, a source MAC (Media AccessControl) address, and application ID information. The frame type F_TYPindicates the type of the connection request frame D6. In this example,the frame type F_TYP indicates information that the frame is aconnection request frame D6. The application ID information indicatesall the box IDs of the game apparatus 1 transmitting the connectionrequest frame D6. Note that, as described above, the term “box ID”refers to an application ID that is stored in both the transmission box325 and the reception box 326.

Next, the connection response frame D7 is described. FIG. 11B shows anexample of the connection response frame D7. The connection responseframe D7 contains a frame type F_TYP, a destination MAC address, asource MAC address, and application ID information. The frame type F_TYPindicates information that the frame is a connection response frame D7.The application ID information indicates all the box IDs of the gameapparatus 1 transmitting the connection response frame D7.

Described next is the application information frame D8. FIG. 11C showsan example of the application information frame D8. The applicationinformation frame D8 contains a frame type F_TYP, a destination MACaddress, a source MAC address, and application information. As describedabove, the application information contains an application ID and maindata associated with the application ID. The application informationcontained in the application information frame D8 is only applicationinformation that is among application information stored in thetransmission box 325 of a source game apparatus 1 (i.e., the source ofthe application information frame D8) and that is associated with anapplication ID coinciding with a box ID of a destination game apparatus1 (i.e., the destination of the application information frame D8).

As described above with reference to FIG. 9, in the case where the gameapparatus 1 stores the out-and-about application, the transmission box325 stores, as application information, the application ID of theout-and-about application, character information D4, most-recently-usedapp ID information D1, and reception time information D5. Accordingly,in the case where both the game apparatus 1 and the other game apparatus1 store the out-and-about application, the application ID of theout-and-about application, the character information D4, and themost-recently-used app ID information D1 are contained in theapplication information frame D8 as application information.

Hereinafter, the passing communication process performed by the gameapparatus 1 is described with reference to FIG. 12. FIG. 12 is aflowchart showing an example of the passing communication processperformed by the game apparatus 1. The passing communication process isrepeated at a predetermined cycle (e.g., at short intervals such as oncein a few seconds). First, the wireless communication module 37determines whether the memory of the wireless communication module 37stores a MAC address for which a predetermined period has elapsed from aresponse time (i.e., a time when the wireless communication module 37has received a connection response from the MAC address, or a time whenthe wireless communication module 37 has transmitted or received data toor from the MAC address in response to receiving a connection responsefrom the MAC address) (S1). When determining that the memory stores aMAC address for which the predetermined time has elapsed from theresponse time (YES at S1), the wireless communication module 37 deletesthe MAC address (S2). When determining that the memory does not storesuch a MAC address (NO at S1), the wireless communication module 37advances the processing to the next step S3 without deleting the MACaddress.

Next, the wireless communication module 37 generates a connectionrequest frame D6 (see FIG. 11A) that contains all the box IDs andtransmits the connection request frame D6 by broadcast communication(S3). Thereafter, the wireless communication module 37 determineswhether a connection response frame D7 (see FIG. 11B) has been received(S4). When determining that a connection response frame D7 has beenreceived (YES at S4), the wireless communication module 37 furtherdetermines whether at least one application ID contained in theconnection response frame D7 coincides with a box ID of the gameapparatus 1 (S5). Note that the wireless communication module 37 storesbox IDs in the memory (i.e., an internal memory of the wirelesscommunication module 37) when the power of the game apparatus 1 isturned on. The wireless communication module 37 performs thedetermination at step S5 by using the stored box IDs. When determiningthat at least one application ID contained in the connection responseframe D7 coincides with a box ID of the game apparatus 1 (YES at S5),the wireless communication module 37 instructs the core 31A to readapplication information associated with an application ID that coincideswith the at least one application ID in the connection response frameD7, and the core 31A reads the application information in response tothe instruction (S6). Note that when the game apparatus 1 is in sleepstate and the core 31A is not started, the wireless communication module37 starts the core 31A prior to step S6. Next, the wirelesscommunication module 37 generates an application information frame D8that contains the application information read by the core 31A, andtransmits the application information frame D8 to the source of theconnection response frame D7 (S7).

Thereafter, the wireless communication module 37 stores, in its memory,the source MAC address of the connection response frame D7 and theresponse time (i.e., the current time) (S8). The source MAC address andthe current time stored here are used for prohibiting, for apredetermined period after the response time, communication from beingperformed between the wireless communication module 37 and the samecommunication recipient. Note that if the predetermined period haselapsed from the response time, the MAC address is deleted at theabove-described steps S1 and S2, and thus, the prohibition ofcommunication is removed. Thereafter, the wireless communication module37 advances the processing to step S9.

On the other hand, when the wireless communication module 37 determinesthat none of the application IDs contained in the connection responseframe D7 coincides with a box ID of the game apparatus 1 (NO at S5), thewireless communication module 37 ends the passing communication process.

At step S9, the wireless communication module 37 determines whether aprocess of receiving an application information frame D8 has beenperformed (S9). If the process of receiving an application informationframe D8 has been performed (YES at S9), the wireless communicationmodule 37 ends the passing communication process. If the process ofreceiving an application information frame D8 has not been performed (NOat S9), the wireless communication module 37 performs step S14, which isdescribed below, to perform a process of receiving an applicationinformation frame D8. The reason for this is that the two gameapparatuses 1 performing the passing communication transmit/receiveapplication information frames D8 to/from each other. Accordingly, ifthe game apparatus 1 has not yet received an application informationframe D8, the processing proceeds to step S14.

Described next is a process that is performed by the wirelesscommunication module 37 in the case where the wireless communicationmodule 37 has determined that a connection response frame D7 has notbeen received (NO at S4). Here, the wireless communication module 37determines whether a connection request frame D6 has been received(S10). When determining that a connection request frame D6 has beenreceived (YES at S10), the wireless communication module 37 furtherdetermines whether the memory of the wireless communication module 37stores the source MAC address of the connection request frame D6 (S11).When determining that the memory does not store the source MAC addressof the connection request frame D6 (NO at S11), the wirelesscommunication module 37 further determines whether at least oneapplication ID contained in the connection request frame D6 coincideswith a box ID of the game apparatus 1 (S12).

When determining that at least one application ID contained in theconnection request frame D6 coincides with a box ID of the gameapparatus 1 (YES at S12), the wireless communication module 37 generatesa connection response frame D7 that contains all the box IDs of the gameapparatus 1 and transmits the connection response frame D7 to the sourceof the connection request frame D6 (S13). Thereafter, the wirelesscommunication module 37 performs step S14, which is described below.

On the other hand, when the wireless communication module 37 determinesthat a connection request frame D6 has not been received (NO at S10),the wireless communication module 37 ends the passing communicationprocess. Also, when determining that the memory stores the source MACaddress of the connection request frame D6 (YES at S11), the wirelesscommunication module 37 ends the passing communication process. Thisprevents communication from being repeatedly performed with the samecommunication recipient within a short period of time (i.e., within thepredetermined period after the response time). When the wirelesscommunication module 37 determines that no application ID contained inthe connection request frame D6 coincides with an application ID in thereception box 326 (No at S12), the wireless communication module 37 endsthe passing communication process.

Next, a process at step S14 is described. The wireless communicationmodule 37 determines whether an application information frame D8 hasbeen received (S14). If an application information frame D8 has not beenreceived (NO at S14), the wireless communication module 37 ends thepassing communication process. On the other hand, if an applicationinformation frame D8 has been received (YES at S14), the wirelesscommunication module 37 instructs the core 31A to store the applicationinformation of the application information frame D8 in the reception box326, and the core 31A stores the application information in thereception box 326 in response to the instruction (S15). Note that whenthe game apparatus 1 is in sleep state and the core 31A is not started,the wireless communication module 37 starts the core 31A prior to stepS15. Here, the core 31A stores the application information in a boxhaving a box ID that coincides with an application ID contained in theapplication information. If the box already stores applicationinformation, the application information of the received applicationinformation frame D8 is added to the application information which isalready stored in the box. Further, the core 31A stores the current timein the reception box 326 as reception time information D5 in associationwith the additionally stored application information (S16).

Thereafter, the wireless communication module 37 stores, in its memory,the MAC address of the communication recipient (i.e., the source MACaddress of the connection request frame D6) as well as the response time(i.e., the current time) (S17). Similar to the information stored atstep S8, the source MAC address and the response time stored here areused for prohibiting, for a predetermined period after the responsetime, communication from being performed between the wirelesscommunication module 37 and the same communication recipient.

Next, the wireless communication module 37 determines whether a processof transmitting an application information frame D8 has already beenperformed (S18). When determining that a process of transmitting anapplication information frame D8 has already been performed (YES atS18), the wireless communication module 37 ends the passingcommunication process. On the other hand, when determining that aprocess of transmitting an application information frame D8 has not beenperformed (NO at S18), the wireless communication module 37 advances theprocessing to step S5 and performs a process of transmitting anapplication information frame D8. The reason for this is that the twogame apparatuses 1 performing the passing communication transmit/receiveapplication information frames D8 to/from each other. Accordingly, ifthe game apparatus 1 has not yet transmitted an application informationframe D8, the processing proceeds to step S5.

Next, the main process performed by the core 31B is described withreference to FIG. 13. The main process is performed when the power ofthe game apparatus 1 is turned on. FIG. 13 is a flowchart showing anexample of the main process performed by the game apparatus 1. The core31B performs a process of displaying a menu screen that shows a list ofapplication icons for applications stored in the saved data memory 34and an application stored in the cartridge 29 currently inserted in thegame apparatus 1 (S21). The menu screen is as described above withreference to FIG. 3, for example. Next, the core 31B repeatedlydetermines whether an application selection operation has been received,until the core 31B determines “YES” (S22). When determining that anapplication selection operation has been received (YES at S22), the core31B reads application data D2 (see FIG. 7) and app ID information D3(see FIG. 7) of the selected application from the saved data memory 34or the cartridge 29 (S23). Then, the core 31B determines whethermost-recently-used app ID information D1 is absent in the main memory 32(S24).

When determining that most-recently-used app ID information D1 is absentin the main memory 32 (YES at S24), the core 31B stores the read app IDinformation D3 as most-recently-used app ID information D1 in themost-recently-used app ID information storage area 322 (S25), and alsostores the read app ID information D3 as most-recently-used app IDinformation D1 in one box included in the transmission box 325, whichone box has a box ID coinciding with the application ID of theout-and-about application (S26). Thereafter, the core 31B executes theread application data D2 (S27) and returns the processing to step S21.

On the other hand, when the core 31B determines that most-recently-usedapp ID information D1 is present in the main memory 32 (NO at S24), thecore 31B updates the most-recently-used app ID information D1 that isstored in the most-recently-used app ID information storage area 322with the read app ID information D3 (S28), and also updates themost-recently-used app ID information D1 that is stored in thetransmission box 325 with the read app ID information D3 (S29).Thereafter, the core 31B performs the aforementioned process at step S27and returns the processing to step S21.

Next, the aforementioned process at step S27 of FIG. 13 that isperformed at the execution of the out-and-about application is describedwith reference to FIG. 14. This process is hereinafter referred to as anout-and-about application execution process. FIG. 14 is a flowchartshowing an example of the out-and-about application execution process.First, the core 31B determines whether an exchange-purpose character IDis stored in the exchange-purpose character ID storage area 324 (seeFIG. 6) (S31). When determining that an exchange-purpose character ID isstored in the exchange-purpose character ID storage area 324 (see FIG.6) (YES at S31), the core 31B reads, from the portrait character storagearea 323, character information D4 that is associated with theexchange-purpose character ID. Based on the character information D4,the core 31B generates and displays a character image G10 (S32). Here, aused app display screen as illustratively shown in FIG. 15 is displayed.The used app display screen shows not only the character image G10 butalso the title G11 and the icon G12 of an application that the user ofthe game apparatus 10 has most recently used as well as the number ofpersons G13 which indicates the number of persons with whom the user hasperformed the passing communication. The display of these types ofinformation is performed at step S32, by obtaining themost-recently-used app ID information D1 stored in themost-recently-used app ID information storage area 322 and the number ofpieces of main data stored in a box included in the reception box 326,which box has a box ID coinciding with the application ID of theout-and-about application. Thereafter, the processing proceeds to thenext step S33.

If the core 31B determines that an exchange-purpose character ID is notstored in the exchange-purpose character ID storage area 324 (NO atS31), the core 31B performs neither the process at step S32, i.e.,displaying of the character image G10, nor below-described processes atsteps S33 to S37, and advances the processing to step S38.

The core 31B refers to the reception box 326 at step S33, and determineswhether main data is stored in the box in which the application ID ofthe out-and-about application is stored (S33). If main data is stored inthe box in which the application ID of the out-and-about application isstored (YES at S33), the core 31B reads the main data (i.e., characterinformation D4, most-recently-used app ID information D1, and receptiontime information D5), and then generates reception data that containsthe read main data and stores (i.e., adds) the generated reception datain the reception data storage area 327 (S34).

Next, the core 31B performs a process of selecting, at random or inaccordance with a predetermined sequence, a piece of reception data fromthe reception data generated at step S34, i.e., from the reception datawhich indicates application information most recently read from thereception box 326, and displaying information indicated by the selectedreception data (S35). Here, the upper LCD 22 displays amost-recently-used app ID information screen about the other user asshown in FIG. 16. Also, the lower LCD 12 displays two operation buttonsG20 and G21 that are “NEXT” and “SKIP”. Note that the most-recently-usedapp ID information screen about the other user is the same screen asthat described above with reference to FIG. 4, and therefore, thedescription thereof is omitted.

Next, the core 31B determines whether the operation button G20 “NEXT”has been selected (S36). When determining that the operation button G20“NEXT” has been selected (YES at S36), the core 31B returns theprocessing to step S35 to select a different piece of reception data.Based on the selected reception data, the core 31B changes informationdisplayed in the most-recently-used app ID information screen. On theother hand, when the core 31B determines that the operation button G20“NEXT” has not been selected (NO at S36), the core 31B furtherdetermines whether the operation button G21 “SKIP” has been touched(S37). When determining that the operation button G21 “SKIP” has notbeen touched (NO at S37), the core 31B returns the processing to stepS36. On the other hand, when the core 31B determines that the operationbutton G21 “SKIP” has been touched (YES at S37), the core 31B performs aprocess at step S38. Note that, in the case where the operation buttonG20 “NEXT” is touched at step S36, if no more reception data is yet tobe displayed, then it is determined “NO” at step S36 and “YES” at stepS37. Thereafter, the process at step S38 is performed.

If no main data is stored in the box which stores the application ID ofthe out-and-about application (NO at S33), the core 31B does not performthe above-described processes at steps S34 to S37, and advances theprocessing to the next step S38.

Next, the process at step S38 is described. The core 31B performs aprocess of displaying main screens for the out-and-about application(hereinafter, “out-and-about main screens”) (S38). FIG. 17 shows anexample of the out-and-about main screens. The upper LCD 22 displays anout-and-about upper main screen, and the lower LCD 12 displays anout-and-about lower main screen. The out-and-about upper main screenshows character images G5 that are generated based on the characterinformation D4 contained in the reception data. In the upper mainscreen, the character images G5 corresponding to the reception data arearranged in reverse chronological order based on the respectivereception time points of the reception data such that, among thecharacter images G5, those corresponding to reception data received atearlier time points are shown at the front in the upper main screen (asshown in FIG. 17). Note that, in the present embodiment, theout-and-about upper main screen shows only a predetermined number ofcharacter images G5 that can be shown in the screen. In other words, theout-and-about upper main screen does not always show all the characterimages G5 for the stored reception data. However, as an alternative, theout-and-about upper main screen may show all the character images G5 forthe stored reception data, which may be realized by displaying, on theupper LCD 22, a moving picture in which the character images G5, whichare arranged in reverse chronological order based on the respectivereception time points of the reception data, are marching forward.

The out-and-about upper main screen shows icons G6 for the characterimages G5, respectively, such that each icon 6 is shown above acorresponding character image G5. These icons G6 are shown for the mostrecently generated reception data, together with corresponding characternames as well as messages that indicate what number each character is ina sequence of passing communication that has been performed. What numbereach character is in the sequence of passing communication is determinedbased on the respective reception time points of the reception data. Thelower LCD 12 displays the out-and-about lower main screen, which showsan operation button G22 “RANKING” and an operation button G23 “SETEXCHANGE-PURPOSE CHARACTER”.

Returning to FIG. 14, the core 31B determines whether the operationbutton G22 “RANKING” has been touched (S39). When determining that theoperation button G22 “RANKING” has been touched (YES at S39), the core31B performs a process of displaying a ranking screen, which isdescribed above with reference to FIG. 5 (hereinafter, referred to as a“ranking process”) (S40). Thereafter, the core 31B returns theprocessing to step S38 to display the out-and-about app main screens. Onthe other hand, when the core 31B determines that the operation buttonG22 “RANKING” has been touched (NO at S39), the core 31B furtherdetermines whether the operation button G23 “SET EXCHANGE-PURPOSECHARACTER” has been touched (S41). Subsequently, the core 31B performs aprocess of setting an exchange-purpose character which is an avatar ofthe user (hereinafter, referred to as a “setting process”) (S42). Then,the core 31B returns the processing to step S38 to display theout-and-about app main screens.

Next, the setting process performed at step S42 of FIG. 14 is described.FIG. 18 is a flowchart showing an example of the setting process.

First, the core 31B reads the character information D4 from the portraitcharacter storage area 323, and reads the most-recently-used app IDinformation D1 from the most-recently-used app ID information storagearea 322, and reads the exchange-purpose character ID from theexchange-purpose character ID storage area 324 (S51). Next, the core 31Bdetermines whether an exchange-purpose character ID has been set, basedon whether an exchange-purpose character ID has been stored in theexchange-purpose character ID storage area 324 (S52). When determiningthat an exchange-purpose character ID has not been set (NO at S52), thecore 31B performs step S56 which is described below. On the other hand,when determining that an exchange-purpose character ID has been set (YESat S52), the core 31B specifies, among the read character informationD4, the character information D4 that is associated with theexchange-purpose character ID which has been set (S53). Thereafter, thecore 31B performs a process of generating and displaying a main settingmenu screen (S54). The main setting menu screen is, for example, onedisplayed on the upper LCD 22 as shown in FIG. 19. The main setting menuscreen shows: a character image G10 based on the character informationD4 specified at step S53; the title G11 and the icon G12 of anapplication; and a character name G14.

At step S54, the core 31B also performs a process of generating anddisplaying a screen on the lower LCD 12 as shown in FIG. 19. The screenshows an operation button G40 “CHANGE EXCHANGE-PURPOSE CHARACTER”, anoperation button G41 “RESET EXCHANGE-PURPOSE CHARACTER”, and anoperation button G42 “END”.

Returning to FIG. 18, the core 31B determines whether an operation ofinstructing to change the exchange-purpose character has been performed(S55). This operation is, for example, a touch operation of touching theoperation button G40 “CHANGE EXCHANGE-PURPOSE CHARACTER”. Whendetermining that an operation of instructing to change theexchange-purpose character has been performed (YES at S55), the core 31Bperforms a process of generating and displaying character images G10 forall the pieces of character information D4 read at step S51 (S56). Here,the lower LCD 12 displays the character images G10. Thereafter, the core31B repeatedly determines whether an operation of selecting one of thepieces of character information D4 read at step S51 has been performed,until the core 31B determines “YES” (S57). This operation is, forexample, a touch operation of touching any one of the character imagesG10.

When the core 31B determines that an operation of selecting characterinformation D4 has been performed (YES at S57), the core 31B updates theexchange-purpose character ID in the exchange-purpose character IDstorage area 324 with the character ID of the selected characterinformation D4, or newly sets the character ID of the selected characterinformation D4 as an exchange-purpose character ID in theexchange-purpose character ID storage area 324 (S58). Also, the core 31Bupdates, with the selected character information D4, characterinformation D4 stored in a box included in the transmission box 325, inwhich box the application ID of the out-and-about application is set, ornewly sets the selected character information D4 as characterinformation D4 to be stored in the box (S59). Thereafter, the core 31Bends the setting process and returns the processing to step S38 of FIG.14 to display the out-and-about app main screens.

On the other hand, when the core 31B determines that an operation ofinstructing to change the exchange-purpose character has not beenperformed (NO at S55), the core 31B further determines whether anoperation of instructing to reset the exchange-purpose character hasbeen performed (S60). This operation is, for example, a touch operationof touching the operation button G41 “RESET EXCHANGE-PURPOSE CHARACTER”.When determining that an operation of instructing to reset theexchange-purpose character has been performed (YES at S60), the core 31Bdeletes the exchange-purpose character ID currently stored in theexchange-purpose character ID storage area 324 (S61). Thereafter, thecore 31B ends the setting process and returns the processing to step S38of FIG. 14 to display the out-and-about app main screens.

On the other hand, when the core 31B determines that an operation ofinstructing to reset the exchange-purpose character has not beenperformed (NO at S60), the core 31B further determines whether anoperation of instructing to end the setting process has been received(S62). This operation is, for example, a touch operation of touching theoperation button G42 “END”. When determining that an operation ofinstructing to end the setting process has not been received (NO atS62), the core 31B returns the processing to step S55. On the otherhand, when determining that an operation of instructing to end thesetting process has been received (YES at S62), the core 31B ends thesetting process and returns the processing to step S38 of FIG. 14.

Hereinafter, the ranking process performed at step S40 of FIG. 14 isdescribed with reference to FIG. 20. FIG. 20 is a flowchart showing anexample of the ranking process. First, the core 31B reads, from theranking period storage area 330, information that indicates a rankingperiod (S71). Here, if information indicating a ranking period is notset, then a default value (e.g., a “total” value) is set. Then, the core31B reads, from the reception data storage area 327, pieces of receptiondata that have been received during the ranking period indicated by theinformation read at S71 (S72). Whether or not reception data has beenreceived within the ranking period is determined based on the receptiontime information D5 associated with the reception data. Thereafter, thecore 31B counts the number of pieces of reception data that have beenread at S72, separately for each application ID contained in the readreception data. Then, the application IDs are sorted in descending orderof the count (S73).

Next, the core 31B sets 3 as a parameter N (S74), and performs a processof displaying most-recently-used app ID information D1 and characterinformation D4 that are associated with an application ID whose count isthe Nth (i.e., the third) largest count (S75). Note that a value otherthan 3 may be set as the parameter N. Here, a screen similar to onedisplayed on the lower LCD 12 as shown in FIG. 5 is displayed, forexample. Next, the core 31B determines whether the parameter N is “1”(S76). If the parameter N is not “1” (NO at S76), N-1 is set as theparameter N (S77). Then, the core 31B returns the processing to stepS75. In this manner, the display of the most-recently-used app IDinformation D1 and the character information D4 is sequentiallyperformed for application IDs, from an application ID whose count is theNth largest count to an application ID whose count is the first largestcount.

On the other hand, if the parameter N is “1” (YES at S76), the core 31Bdisplays a ranking screen since the display of the most-recently-usedapp ID information D1 and the character information D4 has already beenperformed for the application IDs from the application ID whose count isthe Nth largest count to the application ID whose count is the firstlargest count (S78). The ranking screen displayed here is the samescreen as that described above with reference to FIG. 5, and therefore,the detailed description thereof is omitted. As shown in FIG. 5, thelower LCD 12 displays the ranking screen. While the ranking screen isbeing displayed, the upper LCD 22 displays the most-recently-used app IDinformation D1 and the character information D4 for an application ID ofwhich the count of the number of pieces of read reception data is thelargest.

Next, the core 31B determines whether a touch operation of touching anicon G6 has been performed (S79). When determining that a touchoperation of touching an icon G6 has been performed (YES at S79), thecore 31B performs a process of downloading, from the server 4, detailedinformation about an application represented by the touched icon G6 andthen displaying the detailed information (hereinafter, referred to as an“time-of-application-selection process”) (S80). Thereafter, the core 31Bends the ranking process and returns the processing to step S38 of FIG.14.

On the other hand, when the core 31B determines that a touch operationof touching an icon G6 has not been performed (NO at S79), the core 31Bfurther determines whether an operation of instructing to display aranking period change screen has been received (S81). Note that thisoperation is, for example, touching an operation button G7 “OTHERRANKINGS”, which is shown in the ranking screen in FIG. 5.

If an operation of instructing to display a ranking period change screenhas not been received (NO at S81), the core 31B returns the processingto step S78. On the other hand, if an operation of instructing todisplay a ranking period change screen has been received (YES at S81),the core 31B displays a ranking period change screen (S82). The rankingperiod change screen is a screen as shown in FIG. 21, for example. Thescreen shows a plurality of operation buttons G30 that representrespective ranking periods that the user can select. The screen alsoshows an operation button G31 “BACK”. Returning to FIG. 20, the core 31Bdetermines whether an operation of changing the ranking period has beenperformed (S83). This operation is, for example, a touch operation oftouching any operation button G30. When determining that an operation ofchanging the ranking period has been performed (YES at S83), the core31B updates information that indicates the ranking period and that isstored in the ranking period storage area 330, with information thatindicates a new ranking period (S84). Thereafter, the core 31B returnsthe processing to step S72 and obtains reception data for the newranking period. This allows the core 31B to update the ranking based onthe new ranking period and display the updated ranking.

On the other hand, when the core 31B determines that an operation ofchanging the ranking period has not been performed and that theoperation button G31 “BACK” has been touched (NO at S83), the core 31Breturns the processing to step S78.

The above-described ranking process is performed based on all the piecesof reception data received within the ranking period, and the rankingcreated in this process shows applications in descending order of thenumber of times of being received during the ranking period (i.e., indescending order of the aforementioned count). However, as analternative, the ranking process may be performed for pieces ofreception data that contain specific character IDs, and a rankingcreated in this process may show applications in descending order of thenumber of times of being received (i.e., in descending order of theaforementioned count). This allows the user to be informed ofapplications that are frequently used by other users represented bycharacters that the user has selected based on his/her preference. As afurther alternative, the user of the game apparatus 1 may be informed ofapplications that are frequently used by other users whom the user ofthe game apparatus 1 frequently passes during the ranking period (i.e.,applications for which the number of pieces of reception data receivedduring the ranking period is equal to or greater than a predeterminednumber).

Hereinafter, the time-of-application-selection process performed at stepS80 of FIG. 20 is described with reference to FIG. 22. FIG. 22 is aflowchart showing an example of the time-of-application-selectionprocess. First, the core 31B transmits to the server 4 a downloadrequest for the aforementioned detailed information (S91). The downloadrequest contains an application ID. Thereafter, the core 31B repeatedlydetermines whether the detailed information has been received from theserver 4, until the core 31B determines “YES” (S92). When determiningthat the detailed information has been received from the server 4 (YESat S92), the core 31B further determines whether the received detailedinformation indicates absence of display information (S93). Whendetermining that the detailed information indicates presence of displayinformation (NO at S93), the core 31B performs a process of generatingand displaying an app introduction screen based on the displayinformation (S94). Then, the processing proceeds to step S95.

On the other hand, when the core 31B determines that the detailedinformation indicates absence of display information (YES at S93), thecore 31B performs, without performing step S94, a process of generatingand displaying a screen that indicates absence of detailed information.Then, the processing proceeds to step S95. In the case where anapplication that is used for purchasing products is different from theout-and-about application (hereinafter, such an application is referredto as a “shopping application”), the core 31B may start the shoppingapplication and display an interface for the user to make a purchase,after ending the execution of the out-and-about application or inparallel with the execution of the out-and-about application if suchmultitasking is performable.

Here, if a shop server selling the application associated with theapplication ID transmitted from the core 31B is the server 4, the appintroduction screen displayed at step S94 may act as an interface forthe user to make a purchase. At step S95, the core 31B determineswhether the user has performed, via the interface, an operation topurchase the application (S95). When determining that the user has notperformed an operation to purchase the application (NO at S95), the core31B ends the time-of-application-selection process and the rankingprocess of FIG. 20, and returns the processing to step S38 of FIG. 14.Note that, also in the case where the app introduction screen displayedat step S94 does not act as an interface for the user to make apurchase, the core 31B determines “NO” at step S95.

On the other hand, when the core 31B determines that the user hasperformed an operation to purchase the application (YES at S95), thecore 31B transmits, to the server 4, a purchase request received throughthe user's purchase operation (S96). Thereafter, the core 31B repeatedlydetermines whether payment screen data has been received from theserver, until the core 31B determines “YES” (S97). When determining thatthe payment screen data has been received (YES at S97), the core 31Bperforms a process of displaying a payment screen based on the receivedpayment screen data (S98). The payment screen acts as an interface forthe user to input payment information. The payment information is, forexample, a credit card number or a user ID for the service provided bythe server 4.

The core 31B determines whether the user has inputted paymentinformation (S99). When determining that the user has not inputtedpayment information (NO at S99), the core 31B ends thetime-of-application-selection process and the ranking process of FIG.20, and returns the processing to step S38 of FIG. 14. On the otherhand, when determining that the user has inputted payment information(YES at S99), the core 31B transmits the inputted payment information tothe server 4 (S100). Thereafter, the core 31B repeatedly determineswhether application data D2 and app ID information D3 have been receivedfrom the server 4, until the core 31B determines “YES” (S101). Then, thecore 31B stores these received data in the saved data memory 34 (S102).Thereafter, the core 31B ends the time-of-application-selection processand the ranking process of FIG. 20, and returns the processing to stepS38 of FIG. 14.

Described below with reference to FIG. 23 is processing that isperformed by the server 4 for the purpose of distributing theaforementioned detailed information or an application to the gameapparatus 1 performing the time-of-application-selection process(hereinafter, referred to as a “detailed information distributionprocess”). FIG. 23 is a flowchart showing an example of the detailedinformation distribution process. This process is performed, forexample, when the power of the server 4 is turned on or when the server4 is set to a predetermined mode. First, the CPU 65 repeatedlydetermines whether a download request for detailed information has beenreceived, until the CPU 65 determines “YES” (S111). Note that thedownload request received here is a request transmitted from the gameapparatus 1 at step 91 of FIG. 22.

Next, the CPU 65 searches the table T for an application ID contained inthe received download request, and obtains detailed informationassociated with the application ID. Also, the CPU 65 refers to onlinesales information in the table T to determine whether the server 4 isselling the application associated with the application ID (S112). Whendetermining that the server 4 is selling the application (YES at S112),the CPU 65 generates screen data for a screen that shows the obtaineddetailed information and an operation button for the user to make apurchase of the application (here, the screen data contains purchasingguidance information) (S113). Then, the CPU 65 transmits the screen datato the game apparatus 1 (S114). Note that the screen data in the presentembodiment is image data or text data to be displayed on the screen.Thereafter, the CPU 65 determines whether a purchase request has beenreceived within a predetermined period (S115). When determining that apurchase request has not been received within the predetermined period(NO at S115), the CPU 65 returns the processing to step S111. Note thatthe purchase request is transmitted from the game apparatus 1 when stepS96 of FIG. 22 is performed.

On the other hand, when the CPU 65 determines that a purchase requesthas been received (YES at S115), the CPU 65 reads payment screen datafrom the RAM 64 and transmits the payment screen data to the gameapparatus 1 (S116). Thereafter, the CPU 65 determines whether paymentinformation has been received within a predetermined period (S117). Thepayment information is transmitted from the game apparatus 1 when stepS100 of FIG. 22 is performed. When the CPU 65 determines that paymentinformation has been received (YES at S117), the CPU 65 performs apayment process (S118). The payment process is performed based on, forexample, a credit card number. Alternatively, in the case where theserver 4 manages the user's points in association with the user's ID,the payment process may be a process of subtracting, from the user'spoints, points equivalent to the price of the application, for example.Thereafter, the CPU 65 distributes the application to the game apparatus1 (S119). Then, the processing returns to step S111. When the CPU 65determines that payment information has not been received within thepredetermined period (NO at S117), the CPU 65 returns the processing tostep S111.

Described next is a process that the CPU 65 performs when determiningthat the server 4 is not selling the application (i.e., NO at S112).Here, the CPU 65 determines whether the detailed information about theapplication is registered in the table T (S120). When determining thatthe detailed information is registered in the table T (YES at S120), theCPU 65 generates screen data for a screen that shows the detailedinformation (S121) and transmits the screen data to the game apparatus 1(S122). Note that the screen does not show an operation button for theuser to make a purchase of the application. Thereafter, the CPU 65returns the processing to step S111.

When the CPU 65 determines that the detailed information about theapplication is not registered in the table T (NO at S120), the CPU 65reads, from the RAM 64, information that indicates absence of thedetailed information (S123), and transmits the information to the gameapparatus 1 (S122). Thereafter, the CPU 65 returns the processing tostep S111.

Described below with reference to FIG. 24 and FIG. 25 is a process thatis performed when the portrait application is executed at step S27 ofFIG. 13 (hereinafter, referred to as a “portrait creation process”). Theportrait application is an application for generating characterinformation D4. FIG. 24 is a flowchart showing an example of theportrait creation process. First, the core 31B performs a process ofgenerating and displaying a portrait creation window W on the upper LCD22 (S131). Then, the core 31B performs a process of generating a partselection screen for the user to select a part among parts such as eyes,nose, mouth, outline, hair, and the like, and displaying the partselection screen on the lower LCD 12 (S132).

Thereafter, the core 31B repeatedly determines whether an operation ofselecting one of the parts has been performed, until the core 31Bdetermines “YES” (S133). This operation is, for example, a touchoperation of touching one of the parts shown in the part selectionscreen displayed on the lower LCD 12. When determining that an operationof selecting one of the parts has been performed (YES at S133), the core31B performs a process of displaying on the lower LCD 12 a portraitcreation screen which shows a plurality of option images G50 thatcorrespond to the selected part (S134). The option images G50 are imagesof eyes when a part “eyes” is selected, for example. FIG. 25 shows anexample of the portrait creation screen that is displayed when one ofthe parts has been selected. Here, the upper LCD 22 displays an upperportrait creation screen which shows the portrait creation window W, andthe lower LCD 12 displays a lower portrait creation screen which showsoption images G50. Then, the core 31B repeatedly determines whether anoperation of selecting one of the option images G50 has been performed,until the core 31B determines “YES” (S135). Here, the user may beallowed to perform minor adjustments on the position or angle of theselected option image G50.

When the core 31B determines that an operation of selecting an optionimage G50 has been performed (YES at S135), the core 31B registers, inthe main memory 32, the ID of the selected option image G50 inassociation with a part ID of the selected part (S136). Thereafter, thecore 31B performs a process of displaying, in the portrait creationwindow W, the option image G50 of which the ID is registered in the mainmemory 32 (S137). Next, the core 31B determines whether an operation ofselecting an option image G50 has been performed for all the parts(S138). When determining that an operation of selecting an option imageG50 has not yet been performed for all the parts (NO at S138), the core31B returns the processing to step S133. When determining that anoperation of selecting an option image G50 has been performed for allthe parts (YES at S138), the core 31B performs a process of displaying,for example in the lower LCD 12, a screen for the user to input thename, height (i.e., how tall), physical attribute (i.e., how thick), andcolor information about a character (S139).

Next, the core 31B determines whether the name, height (i.e., how tall),physical attribute (i.e., how thick), and color information about acharacter have been fixedly inputted (S140). When determining that thesetypes of information have been fixedly inputted (YES at S140), the core31B generates character image information that indicates the IDs of theselected option images G50 and the part IDs corresponding thereto. Then,the core 31B generates character information D4 as shown in FIG. 8B thatcontains color information, height/physical attribute information,character name, character ID, and character image information, andstores the character information D4 in the portrait character storagearea 323 (S141).

On the other hand, when the core 31B determines that the aforementionedtypes of information have not been fixedly inputted (NO at S140), thecore 31B determines whether an operation of ending the charactercreation has been performed (S142). When determining that an operationof ending the character creation has not been performed (NO at S142),the core 31B returns the processing to step S140. On the other hand,when determining that an operation of ending the character creation hasbeen performed (YES at S142), the core 31B ends the portrait creationprocess.

The character information D4 generated in this manner based on theuser's operations shows the characteristics of the user. The gameapparatus 1 and the other game apparatus 1 transmit to/receive from eachother character information D4 that shows the characteristics of theusers of the game apparatus 1 and the other game apparatus 1, togetherwith most-recently-used app ID information D1. Therefore, the user ofeach game apparatus 1 can know the characteristics of the other user aswell as an application used by the other user.

As described above, in the present embodiment, the game apparatus 1 canreceive most-recently-used app ID information D1 from other gameapparatuses 1. This allows the game apparatus 1 to obtain, from specificgame apparatuses 1, information that identifies applications executed bythe specific game apparatuses 1 (i.e., most-recently-used app IDinformation D1). This allows the user of the game apparatus 1 to knowapplications executed by other game apparatuses 1 that are closelyrelated to the status of the user's usage of the game apparatus 1.

To be specific, in the present embodiment, the game apparatus 1 obtainsmost-recently-used app ID information D1 from other game apparatuses 1by means of the passing communication. This allows the user of the gameapparatus 1 to know applications executed by the other game apparatuses1, which are located within a predetermined distance range from the gameapparatus 1. Accordingly, the user can know the status of usage ofapplications by other users located nearby (i.e., located within a shortdistance from the user).

Since the game apparatus 1 is a handheld game apparatus, the usercarries it. Therefore, the user can obtain, wherever the user goes,identification information about other game apparatuses 1 that arelocated within a short distance from the user's game apparatus 1. Thisallows the user to know the status of usage of applications by otherusers whose area of activities is similar to that of the user.

Hereinafter, variations of the present embodiment are described.

(1) In the present embodiment, at step S112 of FIG. 23, the server 4performs a process of determining whether or not an application forwhich the detailed information is obtained can be downloaded from theserver 4. However, as an alternative, the game apparatus 1 may performsuch determination process. If the application can be downloaded fromthe server 4, the game apparatus 1 may request data of a purchase orderscreen that allows the user to make a purchase of the application.

(2) Further, in the present embodiment, in thetime-of-application-selection process of FIG. 22, the game apparatus 1downloads and thereby obtains detailed information about an applicationfrom the server 4. However, as an alternative, the detailed informationmay be prestored in the saved data memory 34 of the game apparatus 1.For example, the game apparatus 1 may collectively download, from theserver 4 at a frequency of once a week, entire detailed informationmanaged by the server 4, and store the downloaded detailed informationin the saved data memory 34. As a further alternative, the detailedinformation may be contained in the application data D2 of theout-and-about application.

(3) Still further, in the present embodiment, the game apparatus 1 isconfigured to store and update only one piece of most-recently-used appID information D1. However, as an alternative, the game apparatus 1 maybe configured to store a predetermined number (two or more) of pieces ofmost-recently-used app ID information D1 and transmit all the storedmost-recently-used app ID information D1 to another game apparatus 1. Inother words, the game apparatus 1 may transmit application informationabout applications that have most recently been executed in thepredetermined number of times of application executions.

(4) Although the game apparatus 1 transmits character information D4together with most-recently-used app ID information D1, the gameapparatus 1 may be configured to transmit only most-recently-used app IDinformation D1.

(5) In the present embodiment, the game apparatus 1 updatesmost-recently-used app ID information D1 at the start of applicationexecution. However, the game apparatus 1 may perform the update afterthe application execution has been completed.

(6) Further, in the present embodiment, the game apparatus 1 isconfigured to transmit most-recently-used app ID information D1 thatidentifies an application executed by the game apparatus 1, to anothergame apparatus 1. However, the present invention is not limited thereto.Thus, for example, the game apparatus 1 may be configured to transmitto/receive from another game apparatus 1 information that identifiesimage data or audio data reproduced by the game apparatus 1 and theother game apparatus 1 (e.g., thumbnail images for the image data) inaddition to or in place of information about applications executed bythe game apparatus 1 and the other game apparatus 1. Note that the term“content data” herein refers not only to applications but also to imagedata, audio data, and the like.

(7) Still further, in the present embodiment, the transmission/receptionof most-recently-used app ID information D1 among a plurality of gameapparatuses 1 is performed by the passing communication. However, thepresent invention is not limited thereto. Thus, for example, the gameapparatus 1 may be configured to transmit most-recently-used app IDinformation D1 not automatically but when receiving from the user aninstruction to transmit the most-recently-used app ID information D1.Further, the game apparatus 1 may transmit/receive most-recently-usedapp ID information D1 to/from another game apparatus 1 by means of wiredor wireless communication such as the Internet, infrared communication,or a different type of short-distance communication. Note that if thegame apparatus 1 is configured to transmit to/receive from other gameapparatuses 1 most-recently-used app ID information D1 by means of theInternet or the like, then the game apparatus 1 may be configured tocommunicate only with other game apparatuses 1 that are registered, bythe user of the game apparatus 1, as friends (i.e., as communicationrecipients). In such a case, the communication recipients are limited tothe game apparatuses 1 which the user of the game apparatus 1 alreadyknows. This allows the user of the game apparatus 1 to know applicationsthat are used by other users who have a close relationship with the userof the game apparatus 1.

(8) Still further, in the present embodiment, only one exchange-purposecharacter ID can be set for the game apparatus 1, and the game apparatus1 can transmit only one piece of character information D4 to anothergame apparatus 1. However, as an alternative, a plurality ofexchange-purpose character IDs may be set for the game apparatus 1, anda plurality of pieces of character information D4 that are associatedwith the plurality of exchange-purpose character IDs, respectively, maybe transmitted. As a further alternative, an exchange-purpose characterID is not set for the game apparatus 1, and the game apparatus 1 maytransmit all the character information D4 stored therein to another gameapparatus 1. Note that a flag that indicates whether or not a characterindicated by character information D4 is an exchange-purpose charactermay be registered for each piece of character information D4, and onlythe character information D4 for which the flag indicates that thecharacter is an exchange-purpose character may be transmitted to anothergame apparatus 1.

(9) Still further, in the present embodiment, the passing communicationprocess is performed so long as the power of the game apparatus 1 is ON.However, the present invention is not limited thereto. Thus, forexample, the passing communication process may be performed only whenthe game apparatus 1 is set to a passing communication mode or when apredetermined condition is satisfied and the power of the game apparatus1 is ON.

(10) Still further, in the present embodiment, the present invention isapplied to the game apparatus 1. However, the present invention isapplicable not only to a game apparatus but also to, for example, aportable information terminal apparatus such as a mobile phone, apersonal handyphone system (PHS), or a personal digital assistant (PDA).The present invention is also applicable to a stationary game apparatus,a personal computer, or the like.

(11) Still further, in the present embodiment, the game apparatus 1 iscapable of receiving the same reception data from the same source (i.e.,from the same game apparatus 1) a plurality of times, and cumulativelystoring the same reception data a plurality of times. However, as analternative, the game apparatus 1 may be configured not to receivereception data from the same source a plurality of times. As a furtheralternative, the game apparatus 1 may be configured not to receive orcumulatively store reception data if the source MAC address of, or thecharacter information D4 contained in, the reception data coincides withthat of previously stored reception data. As a still furtheralternative, the game apparatus 1 may be configured not to receive orcumulatively store reception data if the source of, and themost-recently-used app ID information D1 contained in, the receptiondata coincide with those of previously stored reception data. Note thatan advantage of being capable of cumulatively storing reception datathat is received from the same source a plurality of times is that alarge number of pieces of most-recently-used app ID information D1 to beused for creating a ranking can be obtained, and that a sufficientnumber of pieces of most-recently-used app ID information D1 to be usedfor creating a ranking can be obtained even in an area where the numberof users of game apparatuses 1 is small. Another advantage of beingcapable of cumulatively storing reception data that is received from thesame source a plurality of times is that the user of the game apparatus1 can obtain, by the game apparatus 1, useful information that thepassing communication has been performed with another game apparatus 1 aplurality of times. On the other hand, in the case where the gameapparatus 1 is configured not to cumulatively store reception data ifthe source of, or the character information D4 contained in, thereception data coincides with that of previously stored reception data,a situation where the same most-recently-used app ID information D1 isrepeatedly received from the same user, which is unnecessary, isprevented.

(12) Still further, in the present embodiment, the above-describedprocessing is performed with the single server 4. However, a pluralityof servers may be used to realize the above-described processing. Forexample, one server may perform processing for providing detailedinformation to the game apparatus 1; another server may performprocessing for causing the game apparatus 1 to display a payment screen(i.e., payment-related information); and still another server maydistribute, to the game apparatus 1, an application that has beenpurchased through the payment process. Still further, in the presentembodiment, the above-described processing is performed with the singlegame apparatus 1. However, a plurality of game apparatuses 1 may be usedto realize the above-described processing.

While the invention has been described in detail, the foregoingdescription is in all aspects illustrative and not restrictive. It willbe understood that numerous other modifications and variations can bedevised without departing from the scope of the invention.

1. A computer-readable storage medium having an information processingprogram stored therein, the information processing program causing acomputer of an information processing apparatus that includes a storagesection for storing content data, to act as: content data executionmeans for executing the content data; transmission data generation meansfor generating transmission data that contains identificationinformation of content data that is being executed by the content dataexecution means, or of content data that has been executed by thecontent data execution means; first transmitting means for transmittingthe transmission data to another information processing apparatus; firstreceiving means for receiving, from said another information processingapparatus, identification information of content data executed by saidanother information processing apparatus; and first output means foroutputting the identification information received by the firstreceiving means.
 2. The computer-readable storage medium according toclaim 1, wherein the first transmitting means automatically performs aprocess for transmitting the transmission data, and the first receivingmeans automatically performs a process for receiving the identificationinformation of the content data executed by said another informationprocessing apparatus.
 3. The computer-readable storage medium accordingto claim 2, wherein the first transmitting means automatically repeatsthe process for transmitting the transmission data, and the firstreceiving means automatically repeats the process for receiving theidentification information of the content data executed by said anotherinformation processing apparatus.
 4. The computer-readable storagemedium according to claim 1, wherein the information processingapparatus is a handheld terminal apparatus, the information processingprogram further causes the computer to act as communication establishingmeans for repeatedly searching, by short-distance wirelesscommunication, for another information processing apparatus that is tobecome a communication recipient of the information processing apparatusand that is present within a distance range from the informationprocessing apparatus, the distance range allowing the informationprocessing apparatus to perform the short-distance wirelesscommunication with said another information processing, and forautomatically establishing a connection of the short-distance wirelesscommunication with said another information processing apparatus, thefirst transmitting means automatically transmits, by the short-distancewireless communication, the transmission data to said anotherinformation processing apparatus, which is the communication recipient,and the first receiving means automatically receives, by theshort-distance wireless communication, the identification informationfrom said another information processing apparatus, which is thecommunication recipient.
 5. The computer-readable storage mediumaccording to claim 1, wherein the information processing program furthercauses the computer to act as: connection request transmitting means forautomatically transmitting a connection request at a predeterminedtiming to said another information processing apparatus; connectionrequest receiving means for receiving a connection request from saidanother information processing apparatus; connection responsetransmitting means for transmitting a connection response to saidanother information processing apparatus when the connection requesttransmitted from said another information processing apparatus has beenreceived; and connection response receiving means for receiving aconnection response transmitted from said another information processingapparatus, and the first transmitting means transmits the transmissiondata to said another information processing apparatus when theconnection response transmitting means has transmitted the connectionresponse to said another information processing apparatus or when theconnection response receiving means has received the connection responsefrom said another information processing apparatus.
 6. Thecomputer-readable storage medium according to claim 5, wherein the firsttransmitting means transmits the transmission data generated by thetransmission data generation means, when transmission data transmittedfrom said another information processing apparatus has been received. 7.The computer-readable storage medium according to claim 1, wherein thefirst transmitting means transmits the transmission data to said anotherinformation processing apparatus by short-distance wirelesscommunication, and the first receiving means receives the identificationinformation from said another information processing apparatus by theshort-distance wireless communication.
 8. The computer-readable storagemedium according to claim 1, wherein the storage section is configuredto store the transmission data up to a predetermined amount, the firsttransmitting means transmits the transmission data stored in the storagesection to said another game apparatus, and the information processingprogram further causes the computer to act as transmission data updatemeans for updating data in the storage section when the transmissiondata generation means has newly generated the transmission data, suchthat the predetermined amount of the transmission data stored in thestorage section, which contains the newly generated transmission data,are arranged in reverse chronological order of generation.
 9. Thecomputer-readable storage medium according to claim 1, wherein the firstreceiving means stores the received identification information of thecontent data in the storage section as cumulative data.
 10. Thecomputer-readable storage medium according to claim 9, wherein the firstoutput means outputs information that is based on the number of piecesof identification information contained in the cumulative data.
 11. Thecomputer-readable storage medium according to claim 10, wherein theinformation processing program further causes the computer to act ascounting means for counting, among the identification informationcontained in the cumulative data, the number of pieces of identificationinformation that satisfy a predetermined condition, and the first outputmeans outputs a counting result obtained from the counting by thecounting means.
 12. The computer-readable storage medium according toclaim 1, wherein the information processing program further causes thecomputer to act as: selection receiving means for receiving, from a userof the information processing apparatus, a selection operation ofselecting identification information from among the identificationinformation outputted by the first output means; obtaining means forobtaining, when the selection receiving means has received the selectionoperation, detailed information about content data that is associatedwith the identification information selected by the selection operation;and second output means for outputting the detailed information obtainedby the obtaining means.
 13. The computer-readable storage mediumaccording to claim 12, wherein the obtaining means obtains the detailedinformation from a server.
 14. The computer-readable storage mediumaccording to claim 11, wherein the first output means outputs, as thecounting result, the number of pieces of identification information,which is counted by the counting means, and the identificationinformation, and the information processing program further causes thecomputer to act as: selection receiving means for receiving, from a userof the information processing apparatus, a selection operation ofselecting identification information from among the identificationinformation outputted by the first output means; obtaining means forobtaining, when the selection receiving means has received the selectionoperation, detailed information about content data that is associatedwith the identification information selected by the selection operation;and second output means for outputting the detailed information obtainedby the obtaining means.
 15. The computer-readable storage mediumaccording to claim 1, wherein the information processing program furthercauses the computer to act as: selection receiving means for receiving,from a user of the information processing apparatus, a selectionoperation of selecting identification information from among theidentification information outputted by the first output means;obtaining means for obtaining, when the selection receiving means hasreceived the selection operation, purchasing guidance information forallowing the user to purchase content data that is associated with theidentification information selected by the selection operation; andsecond output means for outputting the purchasing guidance informationobtained by the obtaining means.
 16. The computer-readable storagemedium according to claim 15, wherein the information processing programcauses the computer to perform a predetermined transaction process witha server for purchasing content data from the server, and when theselection receiving means has received the selection operation, theobtaining means obtains, from the server, the purchasing guidanceinformation for the content data which is associated with theidentification information selected by the selection operation.
 17. Thecomputer-readable storage medium according to claim 15, wherein theobtaining means obtains the purchasing guidance information byreceiving, from a server as the purchasing guidance information,information that provides a guide for the user to perform a purchaseoperation of purchasing the content data, and the information processingprogram further causes the computer to act as: purchase operationreceiving means for receiving the purchase operation which the userperforms in accordance with the guide of the purchasing guidanceinformation; second transmitting means for transmitting, when thepurchase operation receiving means has received the purchase operation,a purchase request for the content data to the server; and secondreceiving means for receiving from the server the content data which hasbeen purchased.
 18. The computer-readable storage medium according toclaim 1, wherein the information processing program further causes thecomputer to act as: selection receiving means for receiving, from a userof the information processing apparatus, a selection operation ofselecting identification information from among the identificationinformation outputted by the first output means; fourth transmittingmeans for transmitting, to a server, the identification informationselected by the selection operation; fourth receiving means forreceiving, from the server, detailed information about content dataassociated with the identification information selected by the selectionoperation, and/or purchasing guidance information for purchasing thecontent data; and third output means for outputting the detailedinformation and/or the purchasing guidance information received by thefourth receiving means.
 19. The computer-readable storage mediumaccording to claim 1, wherein the identification information containsdata of an icon that visually indicates the content data, and the firstoutput means outputs data for displaying the icon, based on the data ofthe icon.
 20. The computer-readable storage medium according to claim 1,wherein the storage section stores at least one piece of characterinformation, the transmission data generation means generates thetransmission data such that the transmission data contains the at leastone piece of character information and the identification information,and the first output means generates a character image from characterinformation that is contained in data received from said anotherinformation processing apparatus, and outputs the character imagetogether with identification information contained in the received data.21. The computer-readable storage medium according to claim 20, whereinthe information processing program further causes the computer to actas: character generation operation receiving means for receiving ageneration operation that a user of the information processing apparatusperforms for generating character information, and character generationmeans for generating, when the character generation operation receivingmeans has received the generation operation, the character informationin accordance with the generation operation, and storing the characterinformation in the storage section.
 22. The computer-readable storagemedium according to claim 1, wherein the information processing programfurther causes the computer to act as prohibiting means for performing aprocess of imposing, for a first predetermined period after the firstreceiving means has received the identification information and/or for asecond predetermined period after the first transmitting means hastransmitted the transmission data, a prohibition of further reception ofthe identification information from said another information processingapparatus which is the source of the identification information that hasbeen received by the first receiving means and/or a prohibition offurther transmission of the transmission data to said anotherinformation processing apparatus which is the destination of thetransmission data that has been transmitted by the first transmittingmeans, and one or both of: a process of removing, after the firstpredetermined period has elapsed, the prohibition of further receptionof the identification information from said another informationprocessing apparatus which is the source of the identificationinformation that has been received by the first receiving means and/orthe prohibition of further transmission of the transmission data to saidanother information processing apparatus which is the destination of thetransmission data that has been transmitted by the first transmittingmeans; and a process of removing, after the second predetermined periodhas elapsed, the prohibition of further reception of the identificationinformation from said another information processing apparatus which isthe source of the identification information that has been received bythe first receiving means and/or the prohibition of further transmissionof the transmission data to said another information processingapparatus which is the destination of the transmission data that hasbeen transmitted by the first transmitting means.
 23. An informationprocessing apparatus comprising: a storage section for storing contentdata; content data execution means for executing the content data;transmission data generation means for generating transmission data thatcontains identification information of the content data executed by thecontent data execution means; first transmitting means for transmittingthe transmission data to another information processing apparatus; firstreceiving means for receiving, from said another information processingapparatus, identification information of content data executed by saidanother information processing apparatus; and first output means foroutputting the identification information received by the firstreceiving means.
 24. An information processing system comprising: astorage section for storing content data; content data execution meansfor executing the content data; transmission data generation means forgenerating transmission data that contains identification information ofthe content data executed by the content data execution means; firsttransmitting means for transmitting the transmission data to anotherinformation processing apparatus; first receiving means for receiving,from said another information processing apparatus, identificationinformation of content data executed by said another informationprocessing apparatus; and first output means for outputting theidentification information received by the first receiving means.
 25. Aninformation processing method comprising the steps of: executing contentdata; generating transmission data that contains identificationinformation of the content data executed at the content data executingstep; transmitting the transmission data to another informationprocessing apparatus; receiving, from said another informationprocessing apparatus, identification information of content dataexecuted by said another information processing apparatus; andoutputting the identification information received at the receivingstep.